【程序8】
题目:输出9*9口诀。
长方形 带if
#include<stdio.h>
int main()
{
int i,j,n;
for(i=1;i<=9;i++)
{
for(j=1,n=0;j<=9;j++,n++)
{if(n%9==0)
printf("\n");
printf("%d*%d=%d\t",i,j,i*j);
}
}
return 0;
}
三角形 无if
int main()
{
int i, j, n;
for (i = 1; i <= 9; i++)
{
for (j = 1, n = 0; j <= i; j++, n++)
printf("%d*%d=%d\t", i, j, i * j);
printf("\n");
}
return 0;
}
==============================================================
【程序9】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
#include<stdio.h>
int main()
{
int i, j, n = 1;
printf("请输入一个正整数:");
scanf("%d", &i);
printf("%d=", i);
for (j = 2; j < i; j++)
{
while (i % j == 0)
{
printf("%d", j);
i /= j;
if (i != 1)
printf("*");
}
}
return 0;
}
==========================================================
【程序10】
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
#include<stdio.h>
int main()
{
int i, j, m, n, t;
printf("请输入两个正整数:");
scanf("%d%d", &m, &n);
if (m < n)
{
t = m;
m = n;
n = t;
}
for (i = n; i >= 1;)
{
if (m % i == 0 && n % i == 0)
{
printf("%d与%d的最大公约数为%d\n", m, n, i);
break;
}
else
i--;
}
for (j = m; j <= m*n;)
{
if (j % m == 0 && j % n == 0)
{
printf("%d与%d的最小公倍数为%d", m, n, j);
break;
}
else
j++;
}
return 0;
}
==============================================================
【程序11】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
int main()
{
int a = 0, b = 0, c = 0, d = 0;
char f;
printf("请输入一串字符:");
while ((f = getchar()) != '\n')
{
if (f >= 'a' && f <= 'z' || f >= 'a' && f <= 'z')
a++;
else if (f >= '0' && f <= '9')
b++;
else if (f == ' ')
c++;
else
d++;
}
printf("英文字母有%d个,数字有%d个,空格有%d个,其他字符有%d个", a, b, c, d);
return 0;
}
==============================================================
【程序12】
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
#include<stdio.h>
int main()
{
int s, a, i, j, sum;
printf("请输入一位数字:");
scanf("%d", &a);
printf("请输入有几位数相加:");
scanf("%d", &j);
printf("s=");
for (s = 0, sum = 0, i = 1; i <= j; i++)
{
sum = a + sum * 10;
s += sum;
}
printf("%d", s);
return 0;
}
==============================================================
【程序13】
题目:求1!+2!+……20!
#include<stdio.h>
int main()
{
int sum=0,i=1,s=1;
for(;i<=20;i++)
{
s=s*i;
sum=sum+s;
}
printf("sum=%d",sum);
return 0;
}
==============================================================
【程序14】
题目:求
#include<stdio.h>
int main()
{
int k,sum=0;
for(k=1;k<=100;k++)
sum+=k;
for(k=1;k<=50;k++)
sum+=k*k;
for(k=1;k<=10;k++)
sum+=1/k;
printf("%d",sum);
return 0;
}
==============================================================
【程序15】
题目:一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反跳。求它在第10次落地时,共经过多少米,第10次反弹多高。
#include<stdio.h>
int main()
{
int i;
float k,s,x;
for (s = 100, x = 200, i = 1; i <= 10; i++)
{
s += x / 2;
x /= 2;
}
printf("总路程为:%7.2f\n", s);
for (k = 100, i = 1; i <= 10; i++)
k = k / 2;
printf("第十次反弹%2.6f\n", k);
return 0;
}==============================================================
【程序16】
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
#include<stdio.h>
int main()
{
int x,i;
for(x=1,i=1; i<=10; i++)
x=(x+1)*2;
printf("第一天共摘了%d",x);
printf("个桃子");
return 0;
}
==============================================================
【程序17】
题目:一根长度为338m的材料,需要截成长度为19m和23m的短料,求两种短料各截多少根时,剩余的材料最少?
#include<stdio.h>
int main()
{
int i,j,c,x,y,min=338;//i j c为xymin最大最小值
for(i=0; i<=338/19; i++)
{
for(j=0; j<=338/23; j++)
{
c=338-19*i-23*j;
if(c<min&&c>0)
{
min=c;
x=i;
y=j;
}
}
}
printf("当19m和23m的短料各截%d,%d根时,剩余的材料最少,最少为%d",x,y,min);
return 0;
}
==============================================================
【程序18】
题目:一位百万富翁遇到一个陌生人,陌生人找他谈一个换钱计划。该计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我二分钱,第三天我仍给你十万元,你给我四分钱······你每天给我的钱是前一天的两倍,直到满一个月(30天)。百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算并输出这一个月中陌生人给百万富翁多少钱,百万富翁给陌生人多少钱,输出赚钱的一方是谁?
#include<stdio.h>
int main()
{
int i=3000000,k;
float j=0.01;
printf("陌生人给富翁%d元\n",i);
for(k=1;k<=29;k++)
j=j*2;
printf("富翁给陌生人%7.2f元\n赚钱的一方是",j);
if(i<j)
printf("陌生人");
else
printf("富翁");
return 0;
}
==============================================================
【程序19】
题目:某次大奖赛,有7个评委对参赛者打分,编写程序:对一名参赛者,输入7个评给参赛者打出的分数,去掉一个最高分和一个最低分,输出参赛者的平均得分。
#include<stdio.h>
int main()
{
int a,b,c,d,e,f,g,t,i;
float average;
printf("请输入七位评委的评分:");
scanf("%d%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f,&g);
for(i=1;i<=1000;i++)
{ if(a<b)
{
t=b;
b=a;
a=t;
}
if(b<c)
{
t=c;
c=b;
b=t;
}
if(c<d)
{
t=d;
d=c;
c=t;
}
if(d<e)
{
t=e;
e=d;
d=t;
}
if(e<f)
{
t=f;
f=e;
e=t;
}
if(f<g)
{
t=g;
g=f;
f=t;
}
}
average=(b+c+d+e+f)/5.0;
printf("该选手的平均数为%5.2f\n",average);
}
==============================================================
【程序20】
题目:编写程序,在屏幕上输出下面的结果,输出数据的行数通过键盘输入,要求在5~20行之间。
#include<stdio.h>
int main()
{
int n,m,i,j; //n,i行m列,输出j
printf("请在5到20之间输入一个数字作为总行数:");
scanf("%d",&n);
for(i=1; i<=n; i++)
{
for(m=0,j=3*i; m<=3; m++)
{
if(m%4==0)
printf("\n");
printf("%d\t",j);
j+=2;
}
}
return 0;
}
==============================================================
【程序21】
题目:设公鸡每只5元,母鸡每只3元,小鸡1元3只,现用100元钱买100只鸡,编写一个程序,算出可以各买多少只鸡。
#include<stdio.h>
int main()
{
int a,b,c;
for(a=1; a<=20; a++)
{
for(b=1; b<=100/3; b++)
{
for(c=1; c<=100; c++)
{
if(a+b+c==100&&5*a+3*b+c/3==100)
printf("公鸡有%d只,母鸡有%d只,小鸡有%d只\n",a,b,c);
}
}
}
return 0;
}
==============================================================