C语言homework3,7个小题目的代码
原创
©著作权归作者所有:来自51CTO博客作者dcj3sjt126com的原创作品,请联系作者获取转载授权,否则将追究法律责任
1、打印100以内的所有奇数。
# include <stdio.h>
int main(void)
{
int i;
for (i=1; i<=100; i++)
{
if (i%2 != 0)
printf("%d ", i);
}
return 0;
}
2、从键盘上输入10个整数,程序找出这10个数的最大数,并输出。·
# include <stdio.h>
int main(void)
{
int i;
int max;
int num[10];
for (i=1; i<=10; i++)
{
printf("请输入第 %d 个数字: ", i);
scanf("%d", &num[i-1]);
}
max = num[0];
for (i=1; i<10; i++)
{
if (num[i] > max)
max = num[i];
}
printf("找出10个数中最大的数为:%d\n", max);
return 0;
}
3、从键盘输入一些数,当输入的数为0时,程序结束,并输出这些数的和。
# include <stdio.h>
int main(void)
{
int answer;
int t;
int sum = 0;
do
{
printf("请输入一个数:");
scanf("%d", &t);
sum += t;
}
while (t!=0);
printf("这些数的总和为:%d\n", sum);
return 0;
}
4、从键盘上输入一个日期,请输出这一天是一年的第几天
如: 2013-01-01 输出 : 第1天
# include <stdio.h>
int length_of_year(int);
int length_of_month(int,int);
int length_of_day(int,int,int);
int main(void)
{
int year, month, date, days;
printf("请输入年月日(示例:2013-01-01):");
scanf("%d-%d-%d", &year, &month, &date);
days = length_of_day(year, month, date);
printf("\n%d-%d-%d 是一年中的第 %d 天\n", year, month, date, days);
return 0;
}
int length_of_year(int year)
{
int z;
if (year%4==0 && year%100!=0 || year%400==0)
z = 1;
else
z = 0;
return z;
}
int length_of_month(int year, int month)
{
int day;
if (month==2)
{
if(length_of_year(year)==1)
day = 29;
else
day = 28;
}
else if (month==4 || month==6 || month==9 || month==11)
day = 30;
else
day = 31;
return day;
}
int length_of_day(int year, int month, int date)
{
int i, month_days;
for (i=1, month_days=0; i<month; i++ )
month_days += length_of_month(year, month);
month_days += date;
return month_days;
}
5、从键盘输入一个整数,输出此整数的位数。
# include <stdio.h>
int main(void)
{
int num, i=0;
printf("请输入一个数:");
while(1)
{
scanf("%d", &num);
if (num<0)
{
printf("这个数字小于0,请重新输入");
continue;
}
while (num>0)
{
num /= 10;
i++;
}
break;
}
printf("这个数字的长度是 %d\n", i);
return 0;
}
6、打印以下图形:
*
***
*****
*******
# include <stdio.h>
int main(void)
{
int i, j, k;
for (i=0; i<4; i++)
{
for (j=7-i*2; j>0; j--)
{
printf(" ");
}
for (k=0; k<=i*2; k++)
{
printf("*");
}
printf("\n");
}
return 0;
}
7、打印100以内的所有素数
素数:只能被1和自己整除的数是素数,最小的素数是2
2 3 5 7 11。。。。
# include <stdio.h>
int main(void)
{
int i;
int j;
for (i=1; i<=100; i++)
{
for (j=2; j<i; j++)
{
if (i%j == 0)
break;
}
if (j == i)
printf("%d ", j);
}
return 0;
}