C语言homework3,7个小题目的代码

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;
}

 

你可能感兴趣的:(c)