C总结

时间:2024.4.27

1.给定变量a.b的值求和

#include <stdio.h>

int main()

{ int i,a,b,sum;

sum=0;

scanf("%d%d",&a,&b);

for(i=a;i<=b;i++)

{sum=sum+i; }

printf("%d",sum);

return 0;}

2.交换a.b的值输出

#include <stdio.h>

void mian()

{int a,b,t;

scanf("%d %d",&a,&b);

t= a;a = b;b = t;

printf("%d %d",a,b);

return 0;}

3.任意给定a.b的值求和

#include <stdio.h>

int main()

{int a,b,sum;

scanf("%d",&a);

scanf("%d",&b);

sum = a+b;

printf("%d\n",sum);

return 0;}

4.对3增加a.b的值输入的提示

#include <stdio.h>

int main()

{int a,b,sum;

printf("********************\n");

printf("请输入a,b的值:\n");

printf("********************\n");

scanf("%d",&a);

scanf("%d",&b);

sum = a+b;

printf("%d\n",sum);

return 0;}

5.任意给定a.b的值,求a.b中的最大(小)值 #include <stdio.h>

int main()

{float a,b,t;

scanf("%f %f",&a,&b);

if(a>b)

{t=a;a=b;b=t; }

printf("%5.2f,%5.2f\n",a,b);

return 0;}

6.任意给定a.b.c的值,求a.b.c中的最大(小)值 #include <stdio.h>

void main()

{ int max(int x,int y,int z);

int a,b,c,d;

scanf("%d,%d,%d",&a,&b,&c);

d=max(a,b,c);

printf("max=%d\n",d);}

int max(int x,int y,int z)

{ int o;

if (x>y && x>z)

{ o=x; }

else if (y>x && y>z)

{o=y; }

else

{o=z;}

return(o);}

7.求1+2+3+......+100之和

#include<stdio.h>

int main()

{ int i=1,sum=0;

while(i<=100)

{sum=sum+1;i++;}

printf("从1加到100的和为%d:\n",sum); return 0;}

8.求1到100之间的偶数和(奇数和) 偶数和:

#include<stdio.h>

int main()

{ int i=2,sum=0;

while(i<=100)

{sum=sum+1;i=i+2;}

printf("从1加到100的和为%d:\n",sum); return 0;}

奇数和:#include<stdio.h>

int main()

{ int i=1,sum=0;

while(i<=100)

{sum=sum+1;i=i+2;}

printf("从1加到100的和为%d:\n",sum);

return 0;}

9.求45+46+....+68之和

#include<stdio.h>

int main()

{ int i=45,sum=0;

while(i<=68)

{sum=sum+1;i++;}

printf("从45加到68的和为%d:\n",sum);

return 0;}

1 要求对1到100之间使用分支结构实现对每个数的偶数(奇数)判断 #include<stdio.h>

int main()

{ int i;i=1;

while(i<=100)

{ if(i%2==0)

printf("%d是偶数\n",i);

else

printf("%d是奇数\n",i);

i=i+1; }

return 0;}

2、对1求出偶数(奇数)的个数

#include<stdio.h>

int main()

{ int i,sum1,sum2;

i=1;

sum1=0;

sum2=0;

while(i<=100)

{ if(i%2==0)

sum1++;

else

sum2++; i=i+1;}

printf("%d\n",sum1);

printf("%d\n",sum2);

return 0;}

3、对1分别求出奇数与偶数的和。

#include<stdio.h>

int main()

{ int i,sum1,sum2;

i=1; sum1=0;sum2=0; while(i<=100)

{ if(i%2==0)

sum1+=i;

else

sum2+=i; i=i+1; }

printf("%d\n",sum1);

printf("%d\n",sum2);

return 0;}

4、能否完成对1、2和3的综合?

#include<stdio.h>

int main()

{ int i,sum1,sum2;

i=1;

sum1=0; sum2=0;

while(i<=100)

{ if(i%2==0)

sum1+=i;

else

sum2+=i; i=i+1; }

printf("%d\n",sum1);

printf("%d\n",sum2);

return 0;}

5、输出1到100之间的所有偶数(要求输出10换一行)

#include<stdio.h>

int main()

{ int i,count;

i=1; count=0;

while(i<=100)

{ if(i%2==0)

{printf("%4d",i);

count++;

if(count%10==0)

printf("\n");}

i=i+1; }

return 0;}

1、 s=1+1/2+1/3….+1/n 直到和s大于3为至,问此时的s和n的值.

#include<stdio.h>

int main()

{ int n=1;

double s=0;

while(s<=3)

{s+=1.0/n;n++;}

printf("s=%1f n=%d\n",s,n-1);

return 0;}

2、 输入任意一正整数,从低位开始输出它的各个位置上的数字,如:输入531,输出135

P49 例题4.5

3、计算 s=1+1/2+1/3….+1/n 直到和s大于3为至,问此时的s和n的值.(使用break语

句)

#include<stdio.h>

int main()

{ int n=1;

double s=0;

while(1)

{s+=1.0/n;

if(s>3)

break; n++;}

printf("s=%f n=%d\n",s,n);

return 0;}

4、若int i=5; 则执行以下语句后,输出的结果为( 5 )。

do{

printf("%d",--i);

}while(i);

5.用while语句计算1-2+3-4+5-6+7-8+9-10。

#include<stdio.h>

void main()

{int t,s=0;

for(t=1;t<=10;t++)

{if(t%2==0)

s=s-t;

else

s=s+t;}

printf("1-2+3-4+5-6+7-8+9-10=:%d ",s);

printf("\n");}

6.写出以下程序运行后的输出结果。

#include <stdio.h>

void main()

{ int x=0,y=0;

while (x<50)

{ y++;

x+=++y;} printf("%d\n%d ",x,y);}

56 14

7.输入一个奇数,例如输入9,输出为:求1*3*……*9的值。输出为:1*3*5*7*9=945 #include <stdio.h>

void main()

{ int i,n,t=1;

printf("请输入一个奇数: ,&n");

for(i=1;i<n;i++)

{ t+=i;

printf("%dt= ",i);}

t*=n;

printf("=%d",t);}

return 0;

1、 输入一个5~10之间的整数n,求1!+2!+3!+…+n!。例如输入5,输出为:1!+2!+3!+…+5!

=153

#include<stdio.h>

void main()

{int i=1,t,k=1,s=0;

printf("请输入要阶乘加到的数字(5~10):"); scanf("%4d",&t); while(i<=t) {} printf("s=%d \n ",s);}

2、 假如班级里有15个同学,请将这15个同学的成绩输入,然后统计不及格人数。 #include<stdio.h>

void main()

{int a[10],i,count=0;

printf("请输入15个同学的成绩数字:"); for(i=1;i<15;i++){ scanf("%4d",&a[i]); if(a[i]<60)

count++;}

printf("不合格人数为=%d \n ",count);}

3、在屏幕上输出以下内容

1

12

123

1234

12345

123456

1234567

12345678

123456789

#include<stdio.h>

void main()

{int i,j; for(i=1;i<=9;i++){ for(j=1;j<=i;j++) printf("%d",j);

printf("\n");}}

4、判断某整数m是否是素数,m从键盘输入。

#include<stdio.h>

#include<math.h>

int main()

{int i,m,k;

i=2;scanf("%d",&m);

k=(int)sqrt(m);

while(i<=k)

{if(m%i==0)

break;i++;} if(i>k) printf("%d是素数\n",m); else

printf("%d不是素数\n",m);

return 0;}

5、打印数列:1,1,2,3,5,8,... 中前40项的值,每行输出5个数 #include<stdio.h>

void main()

{long a=1,b=1,c=3,i,j;

printf("%ld, %ld, ",a,b);

for(i

1、 从键盘输入10整数,把所有的正数相加以及所有的负数相加,最后输入所有正数之和、所有负数之和以及正数与负数的个数。是否能实现当输入的数不足10的时候,以输入0作为结束的标记。

#include<stdio.h>

void main()

{int a[10],i,count1=0,count2=0,sum1=0,sum2=0,sum3=0;

printf("请输入10个整数:\n");

for(i=1;i<=10;i++)

{ scanf("%4d",&a[i]);

if(a[i]>0){

sum1+=a[i]; count1++;}

else

{ sum2+=a[i]; count2++;}}

sum3=sum1+sum2;

printf("正整数有%d个,sum1=%d\n",count1,sum1);

printf("负整数有%d个,sum2=%d\n",count2,sum2);

printf("sum=%d\n",sum3);}

2、教学课件例题例题4.7 P53

3、输入一个5~10之间的整数n,求1!+2!+3!+…+n!。例如输入5,输出为:1!+2!+3!+…+5!

=153(后面有)

4、假如班级里有15个同学,请将这15个同学的成绩输入,然后统计不及格人数。(后面有)

5、在屏幕上输出以下内容(后面有)

1

12

123

1234

12345

123456

1234567

12345678

123456789

1.编写程序,计算分段函数 x+5 x<0

y= 2x 0≦x<10

3/(x-10) x≧10

#include<stdio.h>

void main()

{float x,y;

printf("input x: ");

scanf("%f",&x);

if(x<0)

y=x+5;

else if(x<10)

y=2*x;

else

y=3/(x-10);

printf("f(%0.2f)=%.1f\n",x,y);}

2.分析一下程序段输入的结果(一定要先纸上,后机器验证) #include<stdio.h>

void main( )

{ int x=1,y=-10;

if(x<++y)

if(y- -<0) x+=y;

else x+=3*y;

else x=3*y;

printf("%d\n",x); }

-27

3.输入若干整数给x,使用if语句输出x的绝对值,当输入0时结束; #include<stdio.h>

int main()

{float x,y;

printf("请输入x: ");

scanf("%f",&x);

if(x>0)

y=x;

else

y=-x;

printf("%f",y);

return 0;}

4、将输入字符的大写英文字母转换成小写字母输出,小写字母原样输出 #include <stdio.h>

int main()

{char tmp;

scanf("%c" , &tmp);

if( tmp >= 65 && tmp <= 90) //大写转换小写

{tmp = tmp + 32;

printf("%c" , tmp);

return 0;}

if( tmp >=97 && tmp <= 122) //小写转换大写

{tmp =tmp - 32;

printf("%c" , tmp);

return 0;}}

6、根据代码写出代码所完成的功能

#include<stdio.h>

void main( )

{ double x,y;

printf("请输入x:");

scanf("%lf",&x);

if(x<1)

y=x+1;

else if(x<2)

y=x+2;

else

y=x+3;

printf("f(%.2f)=%.2f\n",x,y); }

输入X,计算出了分段函数的值

判断X是否等于0时Y时等于1/X或0

#include<stdio.h>

int main()

{ int x=1;

printf("\n 请输入一整数:");

scanf("%d",&x);

while(x)

{if(x>0)

printf("输入的整数%d 是正数.\n",x);

else

printf("输入的整数%d 是负数.\n",x);

printf("\n 请输入一整数:");

scanf("%d",&x); }

return 0;}

考一道编程题 当时我们考了冒泡排序

P125 例题

1、 已有宏定义SIZE 为100,定义一个整型数组a, 数组元素个数n及数组元素从键盘输

入,对输入的元素从大到小进行排序,最后输出排序后的数组。(选择排序)、 P 136 例题

把if(a[j]<a[k])改为 if(a[j]>a[k])

2、 已有宏定义SIZE 为100,定义一个整型数组a, 数组元素个数n及数组元素从键盘输

入,对输入的元素从大到小进行排序,最后输出排序后的数组。(冒泡排序)、 P134 例题

3、 写出折半查找的算法

P129例题

书上有错 if(m<a[mid])改为if(m>a[mid]) else if(m>a[mid])改为if(m<a[mid])

4、 利用数组,计算Fibonacii(斐波纳契)数列前20项的值,即 1,1,2,3,5,8,…, 并按每

行打印5个的格式输出

#include<stdio.h>

void main()

{long a=1,b=1,c=3,i,j;

printf("%ld, %ld, ",a,b);

for(i=3;i<=20;i++)

{c=a+b;a=b;b=c;

printf("%ld, ",c);

if(i%5==0)

printf("\n");}}

1、 从键盘上输入一个9整数,在屏幕输出3*3矩阵的形式 如:

1 3 9

4 5 8

2 7 6

#include<stdio.h>

int main()

{ int a[3][3],i,j;

printf("请输入9个整型数,以空格隔开:\n"); for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf("%4d",&a[i][j]);

printf("输入的数组为:\n");

for(i=0;i<3;i++)

{ for(j=0;j<3;j++)

printf("%-4d",a[i][j]);

printf("\n");}

return 0;}

2、写一程序,求一3*3矩阵的完成如下操作

(1) 主对角线(左上到右下角)上的元素之和

(2) 副对角线(左下到右上角)上的元素之和

(3) 上三角元素之和(相对于主对角线)

(4) 下三角元素之和(相对于主对角线)

#include<stdio.h>

void main()

{

int a[3][3],i,j,sum=0;

printf("请输入3*3数组:\n");

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf("%d",&a[i][j]);

for(i=0;i<3;i++){

for(j=0;j<3;j++){

if(i==j)

sum+=a[i][j];}}

printf("主对角线(左上到右下角)上的元素之和: %4d\n",sum); sum=0;

for(i=0;i<3;i++){

for(j=0;j<3;j++){

if(i+j==2)

sum+=a[i][j];}}

printf("副对角线(左下到右上角)上的元素之和: %4d\n",sum); sum=0;

for(i=0;i<3;i++)

for(j=i;j<3;j++)

sum+=a[i][j];

printf("上三角元素之和(相对于主对角线): %4d\n",sum); sum=0;

for(i=0;i<3;i++)

for(j=2-i;j<3;j++)

sum+=a[i][j];

printf("下三角元素之和(相对于主对角线): %4d\n",sum); }

#include<stdio.h>

void main()

{

int a[3][3],i,j,sum=0;

printf("请输入3*3数组:\n");

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf("%d",&a[i][j]);

for(i=0;i<3;i++){

for(j=0;j<3;j++){

if(i==j)

sum+=a[i][j];}}

printf("主对角线(左上到右下角)上的元素之和: %4d\n",sum); sum=0;

for(i=0;i<3;i++){

for(j=0;j<3;j++){

if(i+j==2)

sum+=a[i][j];}}

printf("副对角线(左下到右上角)上的元素之和: %4d\n",sum); sum=0;

for(i=0;i<3;i++)

for(j=i;j<3;j++)

sum+=a[i][j];

printf("上三角元素之和(相对于主对角线): %4d\n",sum); sum=0;

for(i=0;i<3;i++)

for(j=2-i;j<3;j++)

sum+=a[i][j];

printf("下三角元素之和(相对于主对角线): %4d\n",sum); }

1、 使用用户函数,求任意输入四个整数的最大值

#include<stdio.h>

int funmax(int a[4])

{int i,max=0;

for(i=0;i<4;i++)

{ if(max<a[i])

max=a[i];}

return (max);}

int main()

{ int i,b[4];

printf("请输入4个数,判断最大数:");

for(i=0;i<4;i++)

scanf("%d",&b[i]);

printf("最大的数是:%d \n",funmax(b));}

2、 使用用户函数,求任意输入一个整数的阶乘。

#include<stdio.h>

int f(int n)

{int i;

long t;t=1;

if(n==1||n==0)

return (1);

else

{for(i=1;i<=n;i++)

t=t*i;return (t);}}

int main()

{ int s;

printf("请输入整数:");

scanf("%d",&s);

printf("%d!=%ld ",s,f(s));}

3、阅读程序写出结果

(1)

#include<stdio.h>

int fun(int x) //

{int p;

if(x==0||x==1)

return 3;

else

p=x-fun(x-2);

return p; }

int main()

{ printf("\n%d\n",fun(9)); // return 0; }

(2)、

#include<stdio.h>

int main()

{ int f(int);

f(1234);

return 0; }

int f(int n) //

{ if(n>=10)

f(n/10);

printf("%d\n",n%10);

return 0; }

(3)、

#include<stdio.h>

int sum(int n) //

{ int p=0,s=0,j;

for(j=1;j<=n;j++)

s+=(p+=j); return s} int main()

{ printf("sum(5)=%d\n",sum(5)); return 0; }

(4)、

#include<stdio.h>

int sum(int n) //

{int c=0;

do

{c+=n%10;

n/=10;

}while(n);

return c; }

int main()

{ printf("sum(123)=%d \n",sum(123)); return 0; }

(5)、

#include<stdio.h>

int fun(int n) //

{ if(n>0)

return(n+fun(n-2)) ;

else

return 0; }

int main()

{ int n=10;

int fun(int n);

printf("%d\n",fun(n));

return 0; }

3、 有一个3*4 的数组,求所有元素中的最大值(使用函数调用) #include<stdio.h>

int f(int a[3][4])

{int i,j,max=0;

for(i=0;i<3;i++)

{for(j=0;j<4;j++)

{if(max<a[i][j])

max=a[i][j];}}

return (max);}

int main()

{int b[3][4],i,j;

printf("请输入3*4数组,判断最大数:\n");

for(i=0;i<3;i++)

{for(j=0;j<4;j++)

scanf("%4d",&b[i][j]);}

printf("数组中最大的数是:%d",f(b));

printf("\n ");}

3、阅读程序写出结果

(1) 出到过

#include<stdio.h>

int fun(int x) //

{int p;

if(x==0||x==1)

return 3;

else

p=x-fun(x-2); return p; }

int main()

{ printf("\n%d\n",fun(9)); //

return 0; }

9-fun(9-2)[7-fun(7-2)[5-fun(5-2)[3-fun(3-2)] ] ]

7- 5- (3- 3)

答案:7

#include<stdio.h>

int main()

{ int f(int);

f(1234);

return 0; }

int f(int n)

{ if(n>=10)

f(n/10);

printf("%d\n",n%10);

return 0; }

答案: 1

2

3

4

(3)、 考到过

#include<stdio.h>

int sum(int n)

{ int p=0,s=0,j; n=5

for(j=1;j<=n;j++) j p s

s+=(p+=j); s=s+(p=p+j) 1 1 1

return s; 2 3 4

} 3 6 10

int main() 4 10 20

{ printf("sum(5)=%d\n",sum(5)); 5 15 35

return 0; }

答案: 35

(4)、 考到过

#include<stdio.h>

int sum(int n) // n =123 c n

{int c=0; 0 123

Do 123%10=3 0+ 3 12 123/10=12

{c+=n%10; 12%10=2 3+2 1 12/10=1

n/=10; 1%10=1 5+1 0 1/10=0

}while(n);

return c;

}

int main()

{ printf("sum(123)=%d \n",sum(123));

return 0; }

答案: sum(123)=6

(5)、 与第一题类似 第一题明白就好

#include<stdio.h>

int fun(int n) //

{ if(n>0) n=10

return(n+fun(n-2)) ; 10+fun(10-2)[8+fun(8-2)[6+fun(6-2)[4+fun(4-2)[2+fun(2-2)] ] ] ] Else 10+ 8+ 6+ 4+ 2+ 0

return 0;}

int main()

{ int n=10;

int fun(int n);

printf("%d\n",fun(n));

return 0; }

答案: 30

更多相关推荐:
C总结

金屯镇中心小学开展校园环境卫生整治活动总结为进一步加强学校环境综合治理工作,推动创建文明校园活动的深入开展,维护学校及周边环境秩序,根据上级创建卫生城的要求,我校切实落实校园及周边卫生环境专项整治的各项工作,现…

C总结

这一周的C语言实训就要结束了,这一周我们实训的课题是蛇行数组,就是使一个n*n的二维数组按按蛇行走的样子一样从左上角排列到右下角,这次的题目很难。不仅用到了数组语句,还用到了控制语句;如for语句。C语言中的f…

c++总结

C++课程设计实训总结姓名:班级:学号:指导教师:一实训选题人事考勤系统二实训设计作品内容这次的课程设计,我们需要做一个人事考勤系统的登录界面及主界面和三个子界面。完成各个界面之间的跳转。三设计中遇到的问题及解…

C#总结

常见异常:1、数据不在数据词典中的异常:产生原因:由于在创建实体类型时,没有将用到的实体序列化,导致在Config文件中找不到所要的字段;解决办法:在相应的实体类中开头添加[Serializable],并且在相…

深层探索C和C++总结

一、调用函数以及压栈:(1)、每个int占4个字节。(2)、通常栈是王内存低地址方向增长的,也就是说,先压栈的内容存放在高地址区域,后压的存放在低地址区域。(3)、一般调用函数时,汇编中call(通常调用函数都…

大学物理C-总结

大学物理C复习总结第一章流体力学1.表面张力系数的两种定义;2.弯曲液面的附加压强公式、拉普拉斯公式3.接触角的概念4.毛细现象,朱伦公式及物理含义第二章气体分子动理论1.理想气体的概念;2.理想气体的压强公式…

C总结_5(字节序)

C总结_5(字节序)-------------------------测试字节序程序(编译环境VC++6.0)#includestdio.hintmain(){}输出结果128结论:Window平台上使用小字写…

C总结

amp和ampamp都可以用作逻辑与的运算符表示逻辑与and当运算符两边的表达式的结果都为true时整个运算结果才为true否则只要有一方为false则结果为falseampamp还具有短路的功能即如果第一个表...

C语言 个人+总结 (上)

写在最前面一下内容全凭理解总结若有错误请谅解若有问题可以找我一数据类型二输入输出1输出printf函数printf格式控制输出表列示例printfadbcab该函数有两个参数简单说明了基本格式详细请看程序设计6...

C语言总结资料

二级C语言考前复习资料选择题思维导图1C语言程序设计知识结构第1页共57页第一课C语言程序设计基础思维导图2第一课C语言程序设计基础第2页共57页本课主要知识点1知识点C程序基础C语言是一种结构化程序设计语言三...

C语言总结题目

第2周61分别在WinTC和VC60中运行以下程序观察输出结果是否相同并简要说明原因includeltstdiohgtvoidmainprintfquotint型占d个字节nquotsizeofintprint...

嵌入式C总结 (嵌入式程序员入门指导)

C总结嵌入式工程是应知道的基本问题C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法这些年我既参加也组织了许多这种测试在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息此外撇开面试的压力不谈这...

c总结(61篇)