C语言编程题 求代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言编程题 求代码相关的知识,希望对你有一定的参考价值。
输入整数m,n动态分配m×n个浮点型单元,要求采用二维数组的结构化数据表示。通过随机函数产生每个单元的值,计算并输出其中的最小值及其行、列索引位置。
#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;
#define M 10
#define N 10
int main()
int m, n,x;
float num[M][N],min;
cout << "请输入m、n的值:" << endl;
cin >> m >> n;
void output(float a[][10], int b, int c);
float findmin(float a[][10], int b, int c);
srand(time(NULL));
for(int i=0;i<m;i++)
for (int j = 0; j < n; j++)
x = rand() % 100 + 1;
num[i][j] =(float) x / 100+rand()%100; //100以内小数
output(num, m, n);
min = findmin(num, m, n);
system("pause");
return 0;
void output(float a[][10], int b, int c)
for (int i = 0; i < b; i++)
for (int j = 0; j < c; j++)
printf("%4.2f ",a[i][j]);
cout << endl;
float findmin(float a[][10], int b, int c)
float min = 100;
int p, q;
for (int i = 0; i < b; i++)
for (int j = 0; j < c; j++)
if (a[i][j] < min)
min = a[i][j];
p = i;
q = j;
cout << "最小数在第" << p << "行第" << q << "列,该数是:" << min<<endl;
return min;
追问要c语言的代码……您这个好像是C++还是JAVA
参考技术A#include<stdio.h>
#include <stdlib.h>
int main()
int n, m;
float **a;
scanf("%d%d",&n,&m);
a = (float **)malloc(sizeof(float *) * n);//分配维数
for(int i = 0; i < n; i++)
a[i] = (float *)malloc(sizeof(float) * m);//分配各个元素
float l;int in,jm,i,j;
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
a[i][j] = (rand()%(int)((m+n)*1000))/(double)1000+i;
if(j==0) l=a[i][j],in=i,jm=j;
else if(l>a[i][j]) l=a[i][j],in=i,jm=j;
printf("%.3f ",a[i][j]);
printf("\\n第%d行的最小元素是%.3lf,它的位置是第%d行第%d列\\n",i,l,in,jm);
求一些C语言if嵌套语句算法题
三、if--elseif--else结构。
if(表达式1)
语句1;
else
if(表达式2)
语句2;
else
if(表达式3)
语句3;
.
.
.
else
语句n;
这种结构是从上到下逐个对条件进行判断,一旦发现条件满点足就执行与它有关的语句,
并跳过其它剩余阶梯;若没有一个条件满足,则执行最后一个else
语句n。最后这个else常起着缺省条件的作用。同样,如果每一个条件中有多于一条语句要执行时,必须使用和把这些语句包括在其中。
条件语句可以嵌套,这种情况经常碰到,但条件嵌套语句容易出错,其原因主要是不知道哪个if对应哪个else。
例如:
if(x>20||x<-10)
if(y<=100&&y>x)
printf(good);
else
printf(bad);
对于上述情况,
turbo
c2.0规定:
else语句与最近的一个if语句匹配,
上例中的else与if(y<=100&&y>x)相匹配。为了使else与if(x>20||x<-10)相匹配,
必须用花括号。如下所示:
if(x>20||x<-10)
if(y<=100&&y>x)
printf(good);
else
printf(bad);
下面举几个例子:
1.输入一个数,如果大于0,输出plus;如果是负数,输出negative;如果正好是0,则输出zero。
main()
float
num;
scanf(%f,&f);
if(num>0)
printf(plus\n);
else
if(num<0)
printf(negative\n);
else
printf(zero\n);
先定义两个变量,然后输入一个数,然后判断这个数的范围,输出对应的字符串。
2.输入一个数x,输出y。其中y是x的绝对值。
main()
float
x,y;
scanf(%f,&x);
if(x>=0)
y=x;
else
y=-x;
printf(%f\n,y);
程序比较简单,这儿就不分析了。
其实trubo
c
2.0把一些常用的功能都写好了,我们只需要使用就可。例如求绝对值的功能在c的库里面就有。看下面的:
#include
math.h
main()
float
x,y;
scanf(%f,&x);
y=fabs(x);
/*求x的绝对值,然后赋值给y*/
printf(%f\n,y);
这个程序和上面的程序完成的功能是一模一样的,都是求绝对值。可以看出,用下面这个方法比上面就要好一些。由于fabs()是一个函数,系统自带的,所以在使用它的时候,我们必须把它所在的库文件math.h包含都程序中,即程序最前面一行。类似的还有求开方sqrt(),求指数幂exp()等等,这些与数学方面有关的函数都在math.h里面。具体哪些有哪些没有,在什么库里面,可以查看一些手册。
3.输入x,输出y,x和y满足关系:
x<-5
y=x;
-5<=x<1
y=2*x+5;
1<=x<4
y=x+6;
x>=4
y=3*x-2;
程序如下:
main()
float
x,y;
scanf(%f,&x);
if(x<-5)
y=x;
else
if(-5<=x&&x<1)
y=2*x+5;
else
if(1<=x&&x<4)
y=x+6;
else
y=3*x-2;
printf(%f\n,y);
这里要说明两点:
(1).-5<=x&&x<1不能写成-5<=x<1;1<=x&&x<4也不能写成1<=x<4;在c语言中,不能认识连续不等式。
(2).y=2*x+5不能写成y=2x+5;y=3*x-2也不能写成y=3x-2;这与我们平时所写的方法不一样。
4.输入三个数x,y,z,然后按从大到小输出。
main()
float
x,y,z;
scanf(%f%f%f,&x,&y,&z);
if(x>=y&&x>=z)
printf(%f\t,x);
if(y>=z)
printf(%f\t%f\n,y,z);
else
printf(%f\t%f\n,z,y);
else
if(y>=x&&y>=z)
printf(%f\t,y);
if(x>=z)
printf(%f\t%f\n,x,z);
else
printf(%f\t%f\n,z,x);
else
printf(%f\t,z);
if(x>=y)
printf(%f\t%f\n,x,y);
else
printf(%f\t%f\n,y,x);
说明:这是一个典型的if语句嵌套结构,如果不使用括号,那么if和else的对应关系就乱了。 参考技术A 从键盘上输入两个字符,比较其大小,输入大于,等于,小于的判断结果。
答案如下:#include
using
namespace
std;
int
main()
char
ch1,ch2;
cout<<"请输入两个字符:";
cin>>ch1>>ch2;
if(ch1!=ch2)
if(ch1>ch2);
cout<
评论
0
0
加载更多
以上是关于C语言编程题 求代码的主要内容,如果未能解决你的问题,请参考以下文章