亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

如果要將這個代碼變成如圖要怎么改

https://img1.sycdn.imooc.com//5bd98f8500014b7621931080.jpg有哪位大佬知道

正在回答

4 回答

#include<stdio.h>
int main()
{
?int i,n,x;
?scanf("%d",&n);
?for(i=1;i<=n;i++)
?{
??if(i<=(n+1)/2)
??{
???for(x=(n-1)/2;x>=i;x--)
???{
????printf(" ");
???}
???for(x=1;x<=2*i-1;x++)
???{
????printf("*");
???}
???printf("\n");
??}
??else
??{
???for(x=1;x<=i-(n+1)/2;x++)
???{
????printf(" ");
???}
???for(x=(n-i+1)*2-1;x>=1;x--)
???{
????printf("*");
???}
???printf("\n");
??}
?}
?return 0;
}

2 回復 有任何疑惑可以回復我~
#1

堃鵬 提問者

能說說你的想法嗎
2018-10-31 回復 有任何疑惑可以回復我~
#2

LimxrUi 回復 堃鵬 提問者

你就把它分半邊,前(n+1)/2排和后面,然后再用FOR循環來解決每一排的圖案
2018-11-01 回復 有任何疑惑可以回復我~
#3

堃鵬 提問者 回復 LimxrUi

i,n,x分別代表著什么呢
2018-11-01 回復 有任何疑惑可以回復我~
#4

LimxrUi

i是當前執行的排數,n是你設置的總排數
2018-11-01 回復 有任何疑惑可以回復我~
#5

LimxrUi 回復 堃鵬 提問者

x是每排需要輸出空格和*號的個數
2018-11-01 回復 有任何疑惑可以回復我~
#6

堃鵬 提問者 回復 LimxrUi

相反的要怎么弄出來呢
2018-11-01 回復 有任何疑惑可以回復我~
#7

LimxrUi 回復 堃鵬 提問者

else //后半部分 { for(x=1;x<=i-(n+1)/2;x++) //用i減去前半部分,從1遞增(每排遞增) { printf(" "); } for(x=(n-i+1)*2-1;x>=1;x--) //用n-i+1表示的是該排為倒數第幾排,再乘2減1就是該排該輸出*號個數,遞減到1為止(每排遞減) { printf("*"); } printf("\n"); ////每排結尾換行
2018-11-01 回復 有任何疑惑可以回復我~
#8

堃鵬 提問者 回復 LimxrUi

謝謝大佬
2018-11-02 回復 有任何疑惑可以回復我~
查看5條回復

#include<stdio.h>
int fenzi(int a)
{
??? if(a == 1)
??? return 2;
??? else if(a == 2)
??? return 3;
??? else
??? return fenzi(a - 1)+fenzi(a - 2);
}

int main()
{
??? int n, a;
??? float sum;
??? sum = 0;
??? scanf("%d", &n);
??? for(a = 1; a <= n; a++)
??? {
??????? if(a == 1)
??????? {
??????????? sum += 1.0 * fenzi(a) / 1;
??????? }
??????? else
??????? {
??????????? sum += 1.0 * fenzi(a) / fenzi(a - 1);
??????? }
??? }
??? printf("%.2f", sum);
??? return 0;
}


1 回復 有任何疑惑可以回復我~
#1

堃鵬 提問者

是否知道,double型十進制如何轉換為二進制
2018-11-26 回復 有任何疑惑可以回復我~
#2

LimxrUi 回復 堃鵬 提問者

分兩部分,把整數和小數分開,整數部分取余2,小數部分乘2取整
2018-11-27 回復 有任何疑惑可以回復我~

https://img1.sycdn.imooc.com//5bdc06160001b0e802001919.jpg像這個題我打出代碼來,答案錯誤


0 回復 有任何疑惑可以回復我~
#1

LimxrUi

這個用遞歸
2018-11-04 回復 有任何疑惑可以回復我~
#2

LimxrUi

#include<stdio.h> int fenzi(int a) { if(a==1) return 2; else if(a==2) return 3; else return fenzi(a-1)+fenzi(a-2); } int main() { int n,i; float sum; sum=0; scanf("%d",&n); for(i=1;i<=n;i++) { sum+=1.0*fenzi(i)/i; } printf("%.2f",sum); return 0; }
2018-11-04 回復 有任何疑惑可以回復我~

謝謝大佬


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

如果要將這個代碼變成如圖要怎么改

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號