C语言初学者总结

第一次练习
1、求1+2+3+……….+100。(循环)
答案
#include<stdio.h> 
void main() 

 int i,sum=0; 
 for(i=1;i<=100;i++) 
 sum=sum+i; 
 printf("%d",sum); 
}





2题目:输入三个整数x,y,z,请把这三个数由小到大输出。
(1)程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
(2)程序源代码:
main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x>y)
 {t=x;x=y;y=t;}          /*交换x,y的值*/
 if(x>z)
 {t=z;z=x;x=t;}          /*交换x,z的值*/
 if(y>z)
 {t=y;y=z;z=t;}           /*交换z,y的值*/
printf("small to big: %d %d %d\n",x,y,z);
}


第二次练习
一、题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
2.程序源代码:
main()
{
 int score;
 char grade;
 printf("please input a score\n");
 scanf("%d",&score);
 grade=score>=90?'A':(score>=60?'B':'C');
 printf("%d belongs to %c",score,grade);
}


二、题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1.程序分析:利用while语句,条件为输入的字符不为'\n'.
      
2.程序源代码:
#include "stdio.h"
main()
{char c;
 int letters=0,space=0,digit=0,others=0;
 printf("please input some characters\n");
 while((c=getchar())!='\n')
 {
 if(c>='a'&&c<='z'||c>='A'&&c<='Z')
  letters++;
 else if(c==' ')
  space++;
   else if(c>='0'&&c<='9')
       digit++;
     else
       others++;
}
三、题目:用*号输出字母C的图案。
1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。
2.程序源代码:
#include "stdio.h"
main()
{
printf("Hello C-world!\n");
printf(" ****\n");
printf(" *\n");
printf(" * \n");
printf(" ****\n");
}
第三次练习
水仙花数
#include<stdio.h>
void main()
{
int i,j,k,n;
scanf("%d",&n);
i=n/100;
j=n/10%10;
k=n%10;
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
printf("Y");
else
printf("N");
}
回文数12321
#include<stdio.h>
void main()
{
int long ge,shi,qian,wan,x;
scanf("%ld",&x);
wan=x/10000;
qian=x%10000/1000;
shi=x%100/10;
ge=x%10;
if(ge==wan&&shi==qian)
printf("Y");
else
printf("N");
}
2+22+222+…=多少
#include<stdio.h>
void main()
{
int a,n,count=1;
long int sn=0,tn=0;
printf("plz input a and n\n");
scanf("%d,%d",&a,&n);
printf("a=%d,n=%d\n",a,n);
while (count<=n)
{
tn=tn+a;
sn=sn+tn;
a=a*10;
++count;
}
printf("a+aa+...=%ld\n",sn);


}
个人补充
猴子吃桃
#include <stdio.h>
void main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{
x1=(x2+1)*2;
x2=x1;
day--;
}
printf("the total is %d\n",x1);
}
敲字母、空格、数字的个数统计
#include <stdio.h>
void main()
{char c;
int b=0,e=0,d=0,a=0;
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
a++;
else if(c==' ')
b++;
else if(c>='0'&&c<='9')
e++;
else
d++;

}
printf("%d,%d,%d,%d",a,b,d,e);
}
输成绩看等级
#include <stdio.h>
void main()
{
int score;
char grade;
printf("please input a score\n");
scanf("%d",&score);
grade=score>=90?'A':(score>=60?'B':'C');
printf("%d belongs to %c",score,grade);


}
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值