两道c语言题,谢谢帮帮忙
1.编写程序,要求找出满足下列条件的3位数:它是完全平方数,又有两位数字相同。如:144、676。要求:设计一函数判断一个三位数是否为完全平方数,设计另一函数判断一个三位...
1.编写程序,要求找出满足下列条件的3位数:它是完全平方数,又有两位数字相同。如:144、676。
要求:设计一函数判断一个三位数是否为完全平方数,设计另一函数判断一个三位数中是否有两位数字相同,再在主函数中调用这两个函数,找出所有的满足这两个条件的三位数。
2.1.将矩阵A[4][5]中值(行中所有数的和)为最大的那一行元素与首行元素对换。
具体要求如下:
①矩阵A的数值从键盘输入。
②以矩阵的形式输出对换后的矩阵。
谢谢各位高手了 展开
要求:设计一函数判断一个三位数是否为完全平方数,设计另一函数判断一个三位数中是否有两位数字相同,再在主函数中调用这两个函数,找出所有的满足这两个条件的三位数。
2.1.将矩阵A[4][5]中值(行中所有数的和)为最大的那一行元素与首行元素对换。
具体要求如下:
①矩阵A的数值从键盘输入。
②以矩阵的形式输出对换后的矩阵。
谢谢各位高手了 展开
6个回答
展开全部
我给你第一题的答案:
#include<stdio.h>
#include<math.h>
void getit(int);
bool haveit=false;
void main()
{
while(true)
{
int a,i;
printf("请输入一个整数\n这个数以下的完全平方数将全部输出>:");
scanf("%d",&a);
getit(a);
printf(haveit==true? "输出完毕!\n":"%d 以下没有完全平方数!",a);//循环结束还没有找到,说明a没有完全平方数,返回
}
}
void getit(int a)
{
for(int i=2;i<a;i++)
{
for(int j = 2; j <= (int)sqrt(a); j++)
{
if(i == j * j)
printf("%d \n",i); //当发现其平方数时,输出并返回
haveit=true;
}
}
}
#include<stdio.h>
#include<math.h>
void getit(int);
bool haveit=false;
void main()
{
while(true)
{
int a,i;
printf("请输入一个整数\n这个数以下的完全平方数将全部输出>:");
scanf("%d",&a);
getit(a);
printf(haveit==true? "输出完毕!\n":"%d 以下没有完全平方数!",a);//循环结束还没有找到,说明a没有完全平方数,返回
}
}
void getit(int a)
{
for(int i=2;i<a;i++)
{
for(int j = 2; j <= (int)sqrt(a); j++)
{
if(i == j * j)
printf("%d \n",i); //当发现其平方数时,输出并返回
haveit=true;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int isSquare(int n)
{
static const int arr[] = {100, 121, 144, 169, 196, 225, 256, 289, 324,
361, 400, 441, 484, 529, 576, 625, 676, 729,
784, 841, 900, 961};
int i = 0;
while(n > arr[i] && i < 22)
i++;
return n == arr[i];
}
int hasSameNum(int n)
{
if(100 <= n && n <= 999)
{
int a, b, c;
a = n / 100;
b = (n % 100) / 10;
c = n % 10;
return (a == b && a != c)
|| (a == c && a != b)
|| (b == c && a != b);
}
return 0;
}
int main(void)
{
int i;
for(i = 100; i < 1000; i++)
if(isSquare(i) && hasSameNum(i))
printf("%d\n", i);
return 0;
}
int isSquare(int n)
{
static const int arr[] = {100, 121, 144, 169, 196, 225, 256, 289, 324,
361, 400, 441, 484, 529, 576, 625, 676, 729,
784, 841, 900, 961};
int i = 0;
while(n > arr[i] && i < 22)
i++;
return n == arr[i];
}
int hasSameNum(int n)
{
if(100 <= n && n <= 999)
{
int a, b, c;
a = n / 100;
b = (n % 100) / 10;
c = n % 10;
return (a == b && a != c)
|| (a == c && a != b)
|| (b == c && a != b);
}
return 0;
}
int main(void)
{
int i;
for(i = 100; i < 1000; i++)
if(isSquare(i) && hasSameNum(i))
printf("%d\n", i);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种问题也拿来问,学编程最忌讳的就是什么都不自己思考。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.
#include <iostream>
using namespace std;
bool square(int a)
{
for(int i=0;i*i<=a;i++)
{
if(i*i==a)
return 1;
}
return 0;
}
bool equa(int t)
{
int n=t;
int a[3];
a[0]=n%10;
n=n/10;
a[1]=n%10;
n=n/10;
a[2]=n;
if(a[0]==a[1]||a[1]==a[2]||a[2]==a[0])
return 1;
else return 0;
}
int main()
{
for(int a=100;a<1000;a++)
{
if(square(a)&&equa(a))
cout<<a<<endl;
}
}
2.
#include <iostream>
using namespace std;
int main()
{
int a[4][5];
int sum[4]={0,0,0};
int max[4]={0,0,0};
int i,j,swap;
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
cin>>a[i][j];
sum[i]+=a[i][j];
if(a[i][j]>max[i])
{
max[i]=a[i][j];
swap=j;
}
if(j==4)
{
a[i][swap]=sum[i];
}
}
}
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
cout<<a[i][j]<<" ";
if(j==4)cout<<endl;
}
}
}
#include <iostream>
using namespace std;
bool square(int a)
{
for(int i=0;i*i<=a;i++)
{
if(i*i==a)
return 1;
}
return 0;
}
bool equa(int t)
{
int n=t;
int a[3];
a[0]=n%10;
n=n/10;
a[1]=n%10;
n=n/10;
a[2]=n;
if(a[0]==a[1]||a[1]==a[2]||a[2]==a[0])
return 1;
else return 0;
}
int main()
{
for(int a=100;a<1000;a++)
{
if(square(a)&&equa(a))
cout<<a<<endl;
}
}
2.
#include <iostream>
using namespace std;
int main()
{
int a[4][5];
int sum[4]={0,0,0};
int max[4]={0,0,0};
int i,j,swap;
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
cin>>a[i][j];
sum[i]+=a[i][j];
if(a[i][j]>max[i])
{
max[i]=a[i][j];
swap=j;
}
if(j==4)
{
a[i][swap]=sum[i];
}
}
}
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
cout<<a[i][j]<<" ";
if(j==4)cout<<endl;
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是啊, 香肠说的对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询