【C语言】【笔记】解决了一道作业题兴奋
书上一道作业134 10
259
68
7
这样的数列
要求是输入行数给出数列,规律大家都看得出来吧{:1_918:}
英语考试思考中ing(不要问为什么不考试{:1_926:})
数列写出来找规律
1267
358
49
10
对,数列写错了:'(weeqw
源码:
# include<stdio.h>
int main(void)
{
int n,b;
int i=0,a=1,c=0;
printf("请输入规定行数:");
for(scanf("%d",&n);n>0;n--)
{
if(a%2==1)
i+=1;
else
if(a%2==0)
i=(i+(a-1)*2);
printf("%4d",i);
c=i;
for(b=1;b<n;b++)
{
if(a%2==0)
{
if(b%2==0)
c=c+((2*a)-1);
else if(b%2==1)
c=c+(2*b);
}
else if(a%2==1)
{
if(b%2==1)
c=c+((2*a)-1);
else if(b%2==0)
c=c+(2*b);
}
printf("%4d",c);
}
printf("\n");
a++;
}
getchar();
}
瞬间感觉脑汁绞尽
发现数列错误:'(weeqw
重写源码
# include<stdio.h>int main(void){
int i, k,n,m;
printf("输入规定行数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(k=1,m=0;k<=m,m<=n-i;k++,m++)
{
if(k%2==0)
printf("%2d",k*(k+1)/2-i+1);
else
printf("%2d",k*(k+1)/2-m);
}
printf("\n");
}
getchar();
}
瞬间轻便
本帖最后由 Kaiter_Plus 于 2018-10-3 14:59 编辑
学习一下,顺便把楼主的代码重新回复一下,代码化容易看一点
#include<stdio.h>
int main(void){
int i, k,n,m;
printf("输入规定行数:");
scanf("%d",&n);
for(i=1;i<=n;i++){
for(k=1,m=0;k<=m,m<=n-i;k++,m++){
if(k%2==0) printf("%2d",k*(k+1)/2-i+1);
else printf("%2d",k*(k+1)/2-m);
}
printf("\n");
}
getchar();
}
Kaiter_Plus 发表于 2018-10-3 15:13
运行了一下,发现结果是错的,楼主可不可以重新看一下
用电脑编辑可能有的地方手打错了,这个源码在手机里,我重新复制一下
#include<stdio.h>
void main() {
int i, k, n, m;
printf("输入行数");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
for (k = i, m = 0; k <= n, m <= n - i; k++, m++) {
if (k % 2 == 0)
printf("%2d ", k * (k + 1) / 2 - i + 1);
else
printf("%2d ", k * (k + 1) / 2 - m);
}
printf("\n");
}
getcher();
} 一脸懵逼,写出来确实成就感有的 可以厉害了 鼓掌撒花!!!!! 你可真是个小机灵鬼 鼓掌撒花!!!!! 哈哈我也有过这样的感受 ,兴高采烈,激动不已 多去做做蓝桥杯的试题吧,对你的C语言有很大帮做,比C语言二级好多了!第八届蓝桥杯学长路过~ Autom 发表于 2018-10-2 19:38
多去做做蓝桥杯的试题吧,对你的C语言有很大帮做,比C语言二级好多了!第八届蓝桥杯学长路过~
嗯嗯,好的 不知是否我的思维跟不上,楼主能把解题思路和注释一起写上吗?我也是刚学C的,不过是没看出来你的规律。