㈠ 用c語言寫程序它既是完全平方數,又有兩位數字相同,例如144,676等,
#include<stdio.h>
#include<math.h>
void main()
{
int num;
int x;
int a,b,c;
printf("請輸入一個三位數:");
scanf("%d",&num);
a=num/100;
b=num/10%10;
c=num%10;
x=(int)sqrt(num);
if((a==b||a==c||b==c)&&x*x==num)
{
printf("%d,既是一個完全平方數又是有兩個數相同的數",num);
}
else
{
printf("%d,是一個不符合條件的數",num);
}
}
㈡ 用C語言求四位數前兩位相等後兩位相等且前後不等的數
#include<stdio.h>
intmain()
{
intg=0,s=0,b=0,q=0;
for(inti=1000;i<=9999;i++)
{
g=i%10;
s=i%100/10;
b=i/100%10;
q=i/1000;
if((g==s)&&(b==q)&&(g!=b))
printf("%d ",i);
}
return0;
}
㈢ 用C++編程求出一個四位完全平方數,前兩個數字相同,後兩個數字相同。
【解題思路】
一個數若能表示成某個整數的平方的形式,則稱這個數為完全平方數。比如:0,1,4,9,16,25,……。
本題有兩個關鍵點:第一個是找出四位數的完全平方數;第二個是判斷這個完全平方數是不是前兩位相同,並且後兩位也相同。
第一個問題比較簡單,四位數是從1000到9999之間,但是不需要從1000開始一個一個去判斷是否完全平方數,這樣做要檢測9000個,每個數還要看看是不是完全平方數,計算量很大。事實上只需要從32開始到99,逐個取平方就可以得到所有四位數的完全平方數。(因為31的平方是三位數,而100的平方是五位數,所以只需要在32到99的平方數中一個個找下去就可以了)。
第二個問題可以巧妙利用C語言中的取余運算符%和整型變數除法規則來實現。比如要對1234進行上述比較,可以先把1234分成兩截,辦法如下:inta=1234/100;intb=1234%100;因為C語言中整數除法會自動忽略小數部分,所以inta=1234/100的結果就是a=12;而取余運算符是得到余數,所以intb=1234%100的意思就是1234除以100的余數,結果就是b=34,這樣就成功把1234分成12和34兩段,然後再分別判斷a和b個位和十位是否相同就可以了。判斷的方法如下:if(a/10==a%10),因為a/10會得到a的十位數,而a%10會得到a的個位數,所以只要這兩個相等,就說明a的個位和十位相同,因此上題的具體代碼如下:
【程序代碼】
#include<iostream>//控制台操作頭文件
intmain()//主函數
{inti,a,b;//整型變數
printf("前兩位和後兩位分別相同的四位完全平方數有:");
for(i=32;i<100;i++)//通過循環逐個檢測四位數完全平方數
{a=(i*i)/100;//得到完全平方數的前兩位
b=(i*i)%100;//得到完全平方數的後兩位
if(a/10==a%10&&b/10==b%10)//如果前兩位和後兩位分別相同
printf("%d(%d的平方)",i*i,i);}//輸出這個四位數的完全平方數
printf(" ");//換行
system("PAUSE");//屏幕暫停,以便看到顯示結果
return0;}//結束程序
【運行結果】
以上程序在DEVC++中運行通過,運行結果是只有7744這個數符合要求,它是88的平方。具體截圖如下:
㈣ 問幾道C語言題 全達對另+分
8、輸出1,6,11,16,21,……的前10 項,並求它們的和
#include<stdio.h>
int main()
{
int i,k,sum=0;
for(i=1;i<=10;i++)
{
sum=sum+(i-1)*5+1;
}
printf("sum=%d",sum);
return 0;
}
9、任意輸入10個數,求它們的和。
#include<stdio.h>
int main()
{
int a,k,sum=0;
for(k=0;k<10;k++)
{
scanf("%d",&a);
sum=sum+a;
}
printf("sum=%d",sum);
return 0;
}
10、求100到200之間奇數的和。
#include<stdio.h>
int main()
{
int i,sum=0;
for(i=101;i<200;i=i+2)
{
sum=sum+i;
}
printf("sum=%d",sum);
return 0;
}
11、求1到100之間能被3和4 都整除的數的個數及其和。
#include<stdio.h>
int main()
{
int i,n=0,sum=0;
for(i=1;i<=100;i++)
if(i%3==0&&i%4==0)
{
n++;
sum=sum+i;
}
printf("N=%d sum=%d",k,sum);
return 0;
}
13、任意輸入若干個數,求它們的和,輸入0為止。
#include <stdio.h>
int main()
{
int a,sum=0;
while(scanf("%d",&a)>0&&a!=0)
sum+=a;
printf("sum=%d\n",sum);
return 0;
}
14、任意輸入20個數,找出其中最大的數。
#include <stdio.h>
int main()
{
int a[20],i,max;
for(i=0;i<20;i++)
{
scanf("%d",&a[i]);
}
max=a[0];
for(i=1;i<20;i++)
if(max<a[i])
max=a[i];
printf("max=%d\n",max);
return 0;
}
17、有三位數,其各位數字的立方和等於該數本身,求這樣的三位數。
#include <stdio.h>
int main()
{
int i,a,b,c;
for(i=100;i<1000;i++)
{
a=(i/100)%10;
b=(i/10)%10;
c=i%10;
if(a*a*a+b*b*b+c*c*c==i)
{
printf("%d ",i);
}
return 0;
}
19、一數列,前三項分別是為0、1、1,從第四項開始,後一項總是前三項的和,即0、1、1、2、4、7、13、24、44、……,求這個數列的前20項及其和。
#include <stdio.h>
int main()
{
int a[20]={0,1},i,sum=0;
for(i=2;i<20;i++)
{
a[i]=a[i-1]+a[i-2];
}
for(i=2;i<20;i++)
{
sum+=a[i];
printf("%d ",a[i]);
}
printf("\nsum=%d\n",sum);
return 0;
}
20、有四位數,其前兩位數字相同,後兩位數字相同,且是某自然數的平方。求這樣的四位數。
#include <stdio.h>
#include <math.h>
int main()
{
int i,a,b,c,d,e;
for(i=1000;i<10000;i++)
{
a=(i/1000)%10;
b=(i/100)%10;
c=(i/10)%10;
d=i%10;
e=sqrt(i);
if(a==b&&c==d&&e*e==i)
{
printf("%d ",i);
}
}
return 0;
}
21、將一個字元串逆置後輸出。
#include <stdio.h>
#include <string.h>
int main()
{
char a[80];
int i;
gets(a);
i=strlen(a);
while(i>0)
{
putchar(a[i-1]);
i--;
}
return 0;
}
22、計算4*4階矩陣的主次對角線元素值之和。
#include <stdio.h>
int main()
{
int a[4][4],i,j,m1=0,m2=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++)
{
m1+=a[i][i];
m2+=a[i][4-i-1];
}
printf("m1=%d, m2=%d\n",m1,m2);
return 0;
}
23、找出整型數組中的十個整型數的最大值和最小值。
#include <stdio.h>
int main()
{
int a[10],i,max,min;
for(i=0;i<10;i++)
scanf("%d",a+i);
max=min=a[0];
for(i=1;a<10;i++)
{
if(max<a[i])max=a[i];
if(min>a[i])min=a[i];
}
printf("max=%d, min=%d\n",max,min);
return 0;
}
24、輸出整型數組中數值為奇數的個數及它們的和。
#include <stdio.h>
int main()
{
int a[10],i,n=0,sum=0;
for(i=0;i<10;i++)
scanf("%d",a+i);
for(i=0;i<10;i++)
if(a[i]%2!=0)
{
n++;
sum+=a[i];
}
printf("n=%d, sum=%d\n",n,sum);
return 0;
}
㈤ c語言編程,用簡單的循環結構
#include<stdio.h>
#include<math.h>
voidmain(){
inti;
for(i=1000;i<10000;i++)
if(i/1000==i/100%10&&i%10==i/10%10&&(int)sqrt((double)i)==sqrt((double)i))
printf("車號:%d",i);
}
㈥ c語言編程中輸出100~999中的完全平方數,且有兩位數數字相同
思路:
1 對所有完全平方數進行遍歷。
3 對每個完全平方數,取三個位上的值,如果有兩位相同,則輸出。
2 當完全平方數大於999時退出循環。
代碼:
#include<stdio.h>
intmain()
{
intn=10;
while(1)
{
ints=n*n;//獲得到一個完全平方數。
inta=n/100;//百位
intb=n/10%10;//十位
intc=n%10;//個位
if(s>999)break;//超出范圍,退出循環。
if(a==b||b==c||a==c)
{
printf("%d,",s);
}
n++;//計算下一個n。
}
return0;
}
㈦ 查找出1―100之間所有相鄰兩位數相同的數c語言編程
#include<stdio.h>
int main()
{for(int i=11;i<100;i+=11)
printf("%3d",i);
printf("\n");
return 0;
}