现在要用最简单得办法,在一行中输出N个星号。
输入:
N值
输出:
一行中N个星号。
int main()
{
int a;//a表示自己输入的数字
scanf("%d",&a);
int i;//i表示星号数量
for(i=0;i
------------------------------------------------这里是无情的切割线------------------------------------------------------
这是双重循环的入门题目,大家来看看,你会做吗?
输入 n 的值,输出如下例( n=4 )所示的由数字组成的正方型。
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
输入:
n
输出:
数字组成的正方型
#include
int main()
{
int n,i,j,m;//n表示输出的数字,i表示行数,j表示列数,m表示每一行第一个数字的大小
scanf("%d",&n);
m=1;
for(i=0;i
注意这里采用的是右对齐格式~
------------------------------------------------这里是无情的切割线------------------------------------------------------
求满足下列不等式的最小 m。
1 + 2 + 3 + 4 + ...... + m ≥ n
例如:n=100,当 m =14 时,满足:1+2+3+4+...+13=91<100,而 1
+2+3+4+......+14=105>100。
输入:n
输出:m
#include
int main()
{
int n = 0;//n表示自己输入的数据
int m = 0;//m表示输出的结果
int i = 1;
int s = 0;//s表示总和
scanf("%d", &n);
for (i = 1;;i++)
{
s += i;
m++;
if (s >= n)
{
printf("%d\n", m);
break;
}
}
return 0;
}
------------------------------------------------这里是无情的切割线------------------------------------------------------
请编写一个程序寻找一种特殊整数:一个 n 位的正整数等于其各位数字的n次方之和。
例如:407=4×4×4+0×0×0+7×7×7。所以407就是一个特殊数。
输入:
正整数的位数n(n<=6)。
输出:
所有此n位特殊数。每个数占一行。若不存在符合条件的特殊数,则输出提示:"No output.”;若存在,则从小到大进行输出。
说明:
假设输入为4,在4位整数中,有3个4位的特殊数,则输出格式为(输出中的1111、2222和9999并不是4位特殊数,只是格式样例):
1111
2222
9999
首先是我第一次写这道题的过程,很繁琐⬇
#include
int main()
{
int n;//n表示输入的数字位数
int i;
int min=1;
int max=10;
scanf("%d",&n);
for(i=1;i
后面对此进行修改后:
#include
#include
int main()
{
int n=0;
scanf("%d",&n);
int i=0,min=0,max=0,j=0;//min表示n位数的最小值,max表示n位数的最大值,j表示在min~max区间的n位数
int sum=0,sign=0;
min=pow(10,n-1);
max=pow(10,n)-1;
int arr[7]={0};
for(j=min;j<=max;j++)
{
sum=0;
for(i=1;i<=n;i++)
{
int x=pow(10,i);
int y=pow(10,i-1);
arr[i]=(j%x)/y; //确定每一位的数字
}
for(i=1;i<=n;i++)
sum+=pow(arr[i],n);
if(sum==j)
{
sign=1;
printf("%d\n",sum);
}
}
if(sign==0)
printf("No output.\n");
return 0;
}
------------------------------------------------这里是无情的切割线------------------------------------------------------
再次给出任意一个年月日(年>1900),现在我们不能只是直接计算,要先判断给出的日期是否合法,对于非法的日期要给出错误提示信息,合法的日期要再计算是星期几。
输入:
年 月 日
输出:
0~6。
星期日用 0 表示,星期一用 1 表示,星期二用 2 表示......星期六用 6 表示。
假设年份大于1900。先想一想:我们现在只会使用 if 语句,该如何建立数学模型?
#include
int main() {
int m[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int a, b, c, i, j, sum = 0, day = 0, d;
scanf("%d %d %d", &a, &b, &c);
if ((a % 4 == 0) && (a % 100 != 0) || (a % 400 == 0))
m[1] = 29;
if ((b > 12) || (b < 1)) {
printf("month is error.\n");
return 0;
} else if ((c > m[b - 1]) || (c <= 0)) {
printf("day is error.\n");
return 0;
} else
for (i = 1900; i < a; i++) {
if ((i % 4 == 0) && (i % 100 != 0) || (i % 400 == 0))
sum = sum + 366;
else
sum = sum + 365;
}
for (j = 0; j < (b - 1); j++) {
day = day + m [j];
}
d = ((sum + day + c) % 7) ;
printf("%d\n", d);
return 0;
}
------------------------------------------------这里是无情的切割线------------------------------------------------------
以上。