用C語言寫程式,計算一個整數各位數字的和
一道c語言數組程式設計題編寫程式一個整數各位數字之和
這題的關鍵在於分離數字,分離方法可以用這種方法,比如,用119來實現分離,根據題目要結果為1 1 9=11對吧,我們透過這樣來分離,(1)用119 ,就是119除以10的餘數是9對吧?聰明的你現在就應該發現9被分離出來了吧(2)接著分離十位數,119/10的結果只能為整數是11對吧,再用11 ,11除以10的餘數為1對吧?是不是又把1分離出來了(3)最後就是百位數了,11/10的結果為1對吧,百位數也分開了(4)最後我們只需要吧他們相加不就完了。
分離的結束條件是當整除結果小於10時結束。
在分離過程中我們可以使用陣列來儲存分離出來的數。
具體程式碼如下:
/*方法一為遞歸方法解答,本人覺得此方法更簡單,能理解最好*/
#include
int show(int num)
{
if(num
return num;/*遞迴出口*/
else
return num show(num/10);
}
void main()
{
int num,sum;
printf("請輸入一個整數:");
scanf("%d",&num);
sum=show(num);
printf("各位數總和的結果為:%d\n",sum);
}
/*方法二用陣列做的,做法可能過於複雜,不要建議,有好的方法大家分享*/
#include
void main()
{
int 值[10];
int num;
printf("請輸入一個整數:");
scanf("%d",&num);
while(num=10000)
{
printf("此程式碼暫時只支援10000以下的4位數的計算,輸入整數無效!請重新輸入:");
scanf("%d",&num);
}
if(num>=0&num
printf("結果為:%d\n",num);
else if(num>=10&num
{
value[0]=num ;
value[1]=num/10;
printf("結果為:%d\n",value[0] value[1]);
}
else if(num>=100&num
{
value[0]=num ; /*分離個位數*/
#value[1]=num/10; /*得出新的待分離數*/
value[2]=value[1] ; /*分離出十位數*/
value[3]=value[1]/10; /*得到百位數*/
printf("結果為:%d\n",value[0] value[2] value[3]);
}
else
{
value[0]=num ; /*分離個位數*/
#value[1]=num/10; /*得出新的待分離數*/
value[2]=value[1] ; /*分離出十位數*/
value[3]=value[1]/10; /*得出新的待分離數*/
value[4]=value[3] ; /*得出百位數*/
value[5]=value[3]/10; /*得出千位數*/
printf("結果為:%d\n",value[0] value[2] value[4] value[5]);
}
}
一道C語言數組的題 C高手幫忙
#include
main()
{ int a[ ]={1,2,3,4,5,6,7,8,9,0},*p; //定義了一個10個元素的數組,每個元素int型別,也定義了一個p指標.
p=a; //p指標指向陣列a
printf (“%x\n”,p); //輸出把p的位址以十六進位顯示,
printf (“%x\n”,p 9);//p 9表示移動9個int類型的距離的位址之後換成十六進位顯示,
}
如果你的確想列印位址,使用%p 格式就行了,預設是16進位表示,效果和%x一樣,但是省去了部分操作。
若一個int型別的變數佔2個位元組,
第一個printf語句輸出的是194,則第二個printf語句的輸出結果是
這個題的意思是問你第一個元素到最後一個元素總共佔了多少個位元組
0x194 2* 9=
自己算吧,懶得換算了。
194表示十六進位的陣列首位址,一個Int類型佔用2個位元組,那麼移動9個元素的距離就是2*9個位元組,然後顯示位址就是了。
這個深入記憶體裡類型的表示格式,你記住 1表示移動一個元素類型的距離就行了。
幾道簡單C語言程式設計題關於陣列的感謝 !
第一題:
#include "stdio.h"
void main()
{int a[10];
int i,max;
for(i=0;i
scanf("%d,",&a[i]);
max=a[0];
for(i=1;i
{
if(max
max=a[i];
}
printf("最大值為:%d",max);
}
第二題:
#include "stdio.h"
void main()
{
int i,a[10];
long int sum; /*sum 是總分*/
float average; /*平均值*/
for(i=0;i
{
printf("請輸入第%d學生的成績:",(i 1));
scanf("%d",a[i]);
printf("\n");
}
for(i=0;i
sum=sum a[i];
average=sum/10.0;
printf("10位同學的平均成績是:%f",average);
}
第三題:
#include "stdio.h"
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int b[10]={2,4,6,8,10,12,14,16,18,20};
int c[10];
for(i=0;i
c[i]=a[i] b[i];
for(i=0;i
printf("%d,",c[i]);
}
第四題:
#include "stdio.h"
{
int i,a[100];
int cx;
for(i=1;i
{
a[i]=i 2;
}
scanf("輸入你要查詢的數值:%d",cx);
for(i=0;i
if(cx==a[i])
{
printf("第%d個數是你要查詢的數值!");
break;
}
else
printf("你輸入的數值不在這個陣列中");
}
以上是用C語言寫程式,計算一個整數各位數字的和的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如果您懷疑自己的硬盤遇到問題,可以檢查Windows 7上的錯誤。此php.cn帖子討論了FixDisk Windows 7。您可以遵循該指南以檢查Windows 7上的錯誤。

許多Surfacebook用戶報告說,他們符合Windows 11/10上的“由EW_USBCCGPFILTER.SYS阻止的核心隔離”問題。 PHP.CN的這篇文章有助於解決煩人的問題。繼續閱讀。

在Windows 10/11中安裝了像NVIDIA驅動程序這樣的圖形驅動程序之後,您是否曾經遇到過黑屏?現在,在PHP.CN的這篇文章中,您可以找到一些值得嘗試的NVIDIA驅動程序更新黑屏的解決方案。

KB2267602是Windows Defender的保護或定義更新,旨在修復Windows中的漏洞和威脅。一些用戶報告說他們無法安裝KB2267602。這篇來自PHP.CN的帖子介紹瞭如何修復“ KB2267602 FAI

數據恢復始終是一個加熱的話題。要成功地從設備恢復數據,您應該知道它如何存儲數據。您可以從此PHP.CN帖子中學習RAID恢復和硬盤恢復之間的區別。

文件系統錯誤通常在人們的計算機上發生,並且該錯誤可能觸發一系列鏈接的故障。 PHP.CN網站上的本文將為您提供針對文件系統錯誤(-1073741521)的一系列修復程序。請繼續

在團隊或Excel打開文件時,您是否會遭受錯誤消息“此應用程序所選擇的FILETYPE”?現在,請閱讀PHP.CN的這篇文章,以獲取有關此問題的一些有用解決方案。

文件屬性中的“安全”選項卡有助於將不同組和用戶設置為文件或文件夾的不同權限。 一些用戶發現文件屬性中缺少Windows 11安全選項卡。來自PHP.CN的這篇文章提供了一些修復它的方法。
