1、输入1~10之间的一个数字,输出它对应的英文单词。
#include "stdio.h"
main()
{
int x;
printf("please input x(1-10):\n");
scanf("%d",&x);
switch(x)
{
case 1:printf("one");break;
case 2:printf("two");break;
case 3:printf("three");break;
case 4:printf("four");break;
case 5:printf("five");break;
case 6:printf("six");break;
case 7:printf("server");break;
case 8:printf("eight");break;
case 9:printf("nine");break;
case 10:printf("ten");break;
}
}
2、用自然语言描述程序逻辑如下,试写程序。
① 设置环境;
② 定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0;
③ i=1;
④ 如果i≤100,则转⑤,否则转⑧;
⑤ 令s=0,求前i个自然数之和,并放于变量s之中;
⑥ sum=sum+s;
⑦ i增加1,转④;
⑧ 输出和sum,结束。
#include "stdio.h"
main()
{
int i,j,s;
long sum=0;
for(i=1;i<=100;i++)
{
s=0;
for(j=1;j<=i;j++)
{
s=s+j;
}
sum=sum+s;
}
printf("sum=%d",sum);
}
3、用自然语言描述的程序逻辑为:(假设正确口令为123456)
① 设置环境;
② 定义变量i、flag和password,并令flag=0,i=0;
③ 用户回答口令,将其赋于password变量;
④ 口令正确?如果是,则flag=1,转⑥。否则转⑤;
⑤ 回答三次口令了吗?如果没有,计数器加1后(i++),转③,否则转⑥;
⑥ 根据flag之值输出相应信息。
#include "stdio.h"
main()
{
long i=0,flag=0,password;
printf("please input password:\n");
scanf("%ld",&password);
do
{
if(password==123456)
flag=1;
i++;
}while(i<3);
if(flag==1)
printf("口令正确!");
else
printf("口令不正确!");
}
4、用自然语言描述的程序逻辑如下:
① 设置环境;
② 定义变量digit、x、y分别表示原始数、原始数的个位数和逆数;
③ 输入原始正整数x;
- 从x中分解出个位数字digit;
⑤ 合并个位digit至逆数y中;
⑥ 原始数x缩小10倍:x=x/10;
⑦ 如果x非零,则转④;
⑧ 输出逆数y,结束
#include "stdio.h"
main()
{
int digit,x,y=0;
printf("please input x:\n");
scanf("%d",&x);
do
{
digit=x%10;
y=y*10+digit;
x=x/10;
} while(x);
printf("%d",y);
}
5、输入某三角形的三个边的长度,判断出这是个什么三角形(等腰、等边、任意,或不能构成)。
#include "stdio.h"
main()
{
float a,b,c;
printf("please input a,b,c:\n");
scanf("%f,%f,%f",&a,&b,&c);
if(a>0&&b>0&&c>0&&a+b>c&&b+c>a&&a+c>b)
{
if(a==b&&a==c&&b==c)
{
printf("等边三角形!");
}
else
{
if(a==b||a==c||b==c)
{
printf("等腰三角形!");
}
else
{
printf("任意三角形!");
}
}
}
else
{
printf("不能构成三角形!");
}
}
6、输入10个数,分别统计其中正数、负数、零的个数。
#include "stdio.h"
#define N 10
main()
{
int i,zsum=0,fsum=0,lsum=0;
float x;
for(i=1;i<=N;i++)
{
printf("请输入第%d个数:",i);
scanf("%f",&x);
if(x>0)
zsum++;
else if(x==0)
lsum++;
else
fsum++;
}
printf("有%d个正数,%d个负数,%d个零",zsum,fsum,lsum);
}
7、先随机产生N个三位自然数输出,然后再输出其中同时是3、5、7倍数的数。(设N为100)
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#define N 100
main()
{
int i,x;
randomize();
for(i=1;i<=N;i++)
{
x=random(900)+100;
printf("%d\t",x);
if(x%3==0&&x%5==0&&x%7==0)
printf("\n*%d*\n",x);
}
}
8、已知x和y存在下列对应关系,要求对输入的每个x值,计算出y值,请编程。
y=0,x=a||x=-a; y=sqrt(a*a-x*x), -a<x<a; y=x, x<-a||x>a.
#include "stdio.h"
#include "math.h"
main()
{
float x,y,a;
printf("从键盘输入a,x:\n");
scanf("%f,%f",&a,&x);
if(x==a||x==-a)
{
y=0;
}
else if(x>-a&&x<a)
{
y=sqrt(a*a-x*x);
}
else
{
y=x;
}
printf("y=%f",y);
}
9、计算:1/2-2/3+3/4-4/5……,前100项。
#include "stdio.h"
main()
{
int i,t=1;
float sum=0;
for(i=1;i<=100;i++)
{
sum=sum+(t*i*1.0)/(i+1);
t=-t;
}
printf("%f",sum);
}