C语言基础代码.docx
《C语言基础代码.docx》由会员分享,可在线阅读,更多相关《C语言基础代码.docx(15页珍藏版)》请在冰豆网上搜索。
C语言基础代码
C基础
1、输入成绩,判断是否及格
#include
voidmain()
{
floata,b,max;
printf("pleaseentera:
");
scanf("%f",&a);
if(a>=60)
printf("及格\n");
else
printf("不及格\n");
}
2、输入两个学生a和b的成绩,输出其中高的成绩
#include
voidmain()
{
floata,b,max;
printf("pleaseenteraandb:
");
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()
{intgrade;
printf("inputgrade=");
scanf("%d",&grade);
switch((int)(grade/10))
{case10:
case9:
printf("A\n");break;
case8:
printf("B\n");break;
case7:
printf("C\n");break;
case6:
printf("D\n");break;
default:
printf("E\n");
}
}
4、求1+2+……+100的和,分别用while、do…while和for语句实现
(1)while
#include
voidmain()
{intsum=0,i=1;
while(i<=100)
{sum=sum+i;
i++;
}
printf("sum=%d\n",sum);
}
(2)do…while
#include
voidmain()
{
intsum=0,i=1;
do
{sum=sum+i;
i++;
}while(i<=100);
printf("sum=%d\n",sum);
}
(3)for
#include
voidmain()
{
intsum=0,i;
for(i=1;i<=100;i++)
sum=sum+i;
printf("sum=%d\n",sum);
}
5、输入10个数,用冒泡法对这10个数由小到大排序。
#include
voidmain()
{inta[10];
inti,j,t;
printf("input10numbers:
\n");
for(i=0;i<10;i++)
//数组输入
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++)/*进行9次循环,实现9趟比较*/
for(i=0;i<9-j;i++)/*在每趟中进行9-j次比较*/
if(a[i]>a[i+1])/*相邻两个数进行比较*/
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}/*满足条件进行互换*/
printf("thesortednumbers:
\n");
for(i=0;i<10;i++)//数组输出
printf("%d",a[i]);
printf("\n");
}
6、选择排序
#include
voidmain()
{
inti,j,min,temp;
inta[10]={6,90,45,56,1,15,44,78,58,101};//为数组赋初值
//或键盘输入
/*printf("enterdata:
\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("\nThesortednumbers:
\n");
for(i=0;i<10;i++)//输出排序后的10个数
{
printf("%5d",a[i]);
}
printf("\n");
getchar();
}
7、//编一程序,将两个字符串连接起来。
不要用函数strcat
#include"stdio.h"
voidmain()
{
chars1[80],s2[40];
inti=0,j=0;
printf("\ninputstring1:
");
scanf("%s",s1);
printf("inputstring2:
");
scanf("%s",s2);
while(s1[i]!
='\0')
i++;
while(s2[j]!
='\0')
s1[i++]=s2[j++];
s1[i]='\0';
printf("Thenewstringis:
%s\n",s1);
}
8、函数1:
(参数为值传递)
#include
voidmain()
{intmax(intx,inty);
inta,b,c;
scanf("%d%d",&a,&b);
c=max(a,b);
printf(“max=%d\n”,c);
}
intmax(intx,inty)
{intz;
if(x>y)z=x;
elsez=y;
returnz;
}
9、函数2:
(参数为地址传递)
有一维数组score,内放10个学生成绩,定义函数average求平均成绩。
#include
voidmain()
{floataverage(floatarray[10]);
floatscore[10],aver;
inti;
printf("input10scores:
\n");
for(i=0;i<10;i++)
scanf("%f",&score[i]);
printf("\n");
aver=average(score);
printf("averagescoreis%5.2f\n",aver);
}
floataverage(floatarray[10])
{inti;
floataver,sum=array[0];
for(i=1;i<10;i++)
sum=sum+array[i];
aver=sum/10;
return(aver);
}
10、对输入的两个整数按大小顺序输出,用指针变量作函数的参数。
(地址传递)
#include
voidmain()
{voids*p1,int*p2);
inta,b;
int*pointer_1,*pointer_2;
scanf("%d%d",&a,&b);
pointer_1=&a;
pointer_2=&b;
if(a
printf("%d,%d\n",a,b);//等价于:
printf("%d,%d\n",*pointer_1,*pointer_2);
}
voids*p1,int*p2)
{inttemp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
11、有一整型数组a,有10个元素。
要输出各元素的值有三种方法
(1)下标法
#include
voidmain()
{inta[10];
inti;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
}
(2)通过数组名计算出数组元素的地址,找出数组元素的值。
#include
voidmain()
{inta[10];
inti;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("%d",*(a+i));
printf("\n");
}
⑶用指针变量指向数组元素
#include
voidmain()
{inta[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;pscanf("%d",p);
12、输入两个学生学号、姓名和成绩,输出成绩较高的学生的学号、姓名和成绩。
#include
voidmain()
{structstudent
{intnum;
charname[20];
intscore;
}s1,s2;
scanf("%d%s%d",&s1.num,s1.name,&s1.score);
scanf("%d%s%d",&s2.num,s2.name,&s2.score);
printf("numnamescore\n");
if(s1.score>=s2.score)
printf("%d%s%d\n",s1.num,s1.name,s1.score);
else
printf("%d%s%d",s2.num,s2.name,s2.score);
}
13、有N个学生的信息(包括学号,姓名,成绩),要求按照成绩的高低顺序存储并输出各学生的信息。
#include
#include
voidmain()
{structstudent
{intnum;
charname[20];
intscore;
}s[6]={{1,"aaa",59},{2,"bbb",78},{3,"ccc",85},{4,"ddd",64},{5,"eee"