C语言基础代码
- 格式:doc
- 大小:56.00 KB
- 文档页数:13
C 基础1、输入成绩,判断是否及格#include <stdio.h>void main(){float a,b,max;printf("please enter a:");scanf("%f ",&a);if (a>=60)printf("及格\n");elseprintf("不及格\n");}2、输入两个学生a和b的成绩,输出其中高的成绩#include <stdio.h>void main(){float a,b,max;printf("please enter a and b:");scanf("%f,%f",&a,&b); // 数据输入时若无逗号一般用空格区分两输入值,本例一定要在两数之间加逗号if (a>=b)max=a;if (b>a)max=b;printf("max=%f\n",max);}3、要求按照百分制考试分数输出等级。
#include "stdio.h"main(){ int grade;printf("input grade=");scanf("%d",&grade);switch ((int)(grade/10)){ case 10:case 9: printf("A\n");break;case 8: printf("B\n");break;case 7: printf("C\n");break;case 6: printf("D\n");break;default: printf("E\n");}}4、求1+2+……+100的和,分别用while、do…while和for语句实现(1)while#include <stdio.h>void main ( ){ int sum=0,i=1;while (i<=100){ sum=sum+i;i++;}printf("sum=%d\n",sum);}(2)do…while#include <stdio.h>void main( ){int sum=0,i=1;do{sum=sum+i;i++;}while (i<=100);printf("sum=%d\n",sum);}(3)for#include <stdio.h>void main( ){int sum=0,i;for (i=1;i<=100;i++)sum=sum+i;printf("sum=%d\n",sum);}5、输入10个数,用冒泡法对这10个数由小到大排序。
#i n c l u d e<s t d i o.h>v o i d m a i n(){i n t a[10];i n t i,j,t;p r i n t f("i n p u t10n u m b e r s:\n");f o r(i=0;i<10;i++)//数组输入s c a n f("%d",&a[i]);p r i n t f("\n");f o r(j=0;j<9;j++)/*进行9次循环,实现9趟比较*/f o r(i=0;i<9-j;i++)/*在每趟中进行9-j次比较*/i f(a[i]>a[i+1])/*相邻两个数进行比较*/{t=a[i];a[i]=a[i+1];a[i+1]=t;}/*满足条件进行互换*/p r i n t f("t h e s o r t e d n u m b e r s:\n");f o r(i=0;i<10;i++)//数组输出p r i n t f("%d",a[i]);p r i n t f("\n");}6、选择排序#include <stdio.h>void main(){int i,j,min,temp;int a[10]={6,90,45,56,1,15,44,78,58,101};//为数组赋初值//或键盘输入/*printf("enter data:\n");for(i=0;i<10;i++)//输入10个数{printf("a[%d]=",i);scanf("%d",&a[i]);}printf("\n");for(i=0;i<10;i++)//输出10个数{printf("%5d",a[i]);}printf("\n");*/for(i=0;i<9;i++){min=i;for(j=i+1;j<=9;j++){if(a[min]>a[j])min=j;}temp=a[i];a[i]=a[min];a[min]=temp;}printf("\n The sorted numbers:\n");for(i=0;i<10;i++)//输出排序后的10个数{printf("%5d",a[i]);}printf("\n");getchar();}7、//编一程序,将两个字符串连接起来。
不要用函数strcat #include "stdio.h"void main(){char s1[80],s2[40];int i=0,j=0;printf("\n input string1:");scanf("%s",s1);printf("input string2:");scanf("%s",s2);while(s1[i]!='\0')i++;while(s2[j]!='\0')s1[i++]=s2[j++];s1[i]='\0';printf("The new string is: %s\n",s1);}8、函数1:(参数为值传递)#include <stdio.h>void main ( ){ int max(int x,int y );int a,b,c;scanf("%d%d",&a,&b);c=max(a,b);printf(“max= %d\n”,c);}int max (int x,int y){ int z;if (x>y) z=x;else z=y;return z;}9、函数2:(参数为地址传递)有一维数组score,内放10个学生成绩,定义函数average求平均成绩。
#include <stdio.h>void main(){ float average(float array[10]);float score[10],aver;int i;printf("input 10 scores:\n");for(i=0;i<10;i++)scanf("%f",&score[i]);printf("\n");aver=average(score);printf("average score is %5.2f \n", aver);}float average(float array[10]){ int i;float aver, sum=array[0];for(i=1;i<10;i++)sum=sum+array[i];aver=sum/10;return(aver);}10、对输入的两个整数按大小顺序输出,用指针变量作函数的参数。
(地址传递)#include <stdio.h>void main(){void s *p1,int *p2);int a,b;int *pointer_1, *pointer_2;scanf("%d%d",&a,&b);pointer_1=&a;pointer_2=&b;if(a<b) s); /*调用函数后,a,b的值进行了交换*/printf("%d,%d\n",a,b);//等价于:printf("%d,%d\n", *pointer_1,*pointer_2);}void s *p1,int *p2){ int temp;temp=*p1;*p1=*p2;*p2=temp;}11、有一整型数组a,有10个元素。
要输出各元素的值有三种方法(1)下标法#include <stdio.h>void main(){int a[10];int i;for(i=0;i<10;i++)scanf("%d",&a[i]);for (i=0;i<10;i++)printf("%d ",a[i]);printf("\n");}(2)通过数组名计算出数组元素的地址,找出数组元素的值。
#include <stdio.h>void main(){ int a[10];int i;for (i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)printf("%d ", *(a+i));printf("\n");}⑶用指针变量指向数组元素#include <stdio.h>void main(){ int a[10];int *p,i;for (i=0;i<10;i++)scanf("%d",&a[i]);for(p=a;p<(a+10);p++)printf("%d ",*p);printf("\n");}上述3种方法中有关数组元素的输入也可用下列方法表示:for(p=a;p<a+10;p++)scanf("%d",p);12、输入两个学生学号、姓名和成绩,输出成绩较高的学生的学号、姓名和成绩。