‘壹’ c语言设计r
int fl(int x,int y)
{ return x>y?x:y; } 定义f1函数,x>y?x:y意思是如果x>y成立,输出x的值,否则输出y。整个函数是比较x、y的大小,取较大值。
int f2(int x,int y)
{ return x>y?y:x; } 定义f2函数,x>y?y:x意思是如果x>y成立,输出y的值,否则输出x。整个函数是比较x、y的大小,取较小值。
main()
{ int a=4,b=3,c=5,d,e,f; 定义整型变量a=4、b=3、c=5、d、e、f
d=f1(a,b); d=f1(d,c); d先取a、b间的大者,再取d、c间的大者
e=f2(a,b); e=f2(e,c); e先取a、b间的小者,再取e、c间的小者
f=a+b+c-d-e; 运算f=a+b+c-d-e的值
printf("%d,%d,%d\n",d,f,e); 输出,不明白这一句……
}
‘贰’ c语言 将一个十进制整数m转化成r进制整数的字符串表示形式。最好难的地方说明下。谢谢~
i-x-1都应该改成x-i-1。楼主的意思就是乘以16的对应的位数次方呗,你仔细看看就知道应该是x-i-1
2、我们假设十位上是的数字是1,那么这个数代表了16,这时候用一个字符是无法表示的
也就是说,不能简单的用s[i]去存放原16进制的某位转换成10进制对应的数
一个简单的修改方法是,让func函数返回一个int型的数值,这个返回值就是对应的十进制数
具体代码见下
#include<stdio.h>
#include<string.h>
#include<math.h>
int func(char s[],int x);
void main()
{
char a[20];
int n;
int num;
printf("请输入一串十六进制数:");
scanf("%s",a);
n=strlen(a);
num=func(a,n);
printf("%s=%d",a,num);
}
int func(char s[],int x)
{
int i;
int num=0;
for(i=x-1;i>=0;i--)
{
if(s[i]>='0'&&s[i]<='9')
{
num+=(int)((s[i]-'0')*pow(16,x-i-1));
}
if(s[i]>='a'&&s[i]<='f'){
num+=(int)((s[i]-'a'+10)*pow(16,x-i-1));
}
if(s[i]>='A'&&s[i]<='F'){
num+=(int)((s[i]-'A'+10)*pow(16,x-i-1));
}
}
return num;
}
‘叁’ 请输入一系列整数怎么用c语言表达
输入的数目不定,只是在设计阶段未知,在实际输入的时候,一定是有具体的数量的,所以对于这种情况,需要先做一个约定,常用的有两种方法:1
在输入前,先输入一个总数,然后输入总数个整数。2
约定输入的结束符,如遇到换行结束输入,或者以EOF为结束输入标记。对于每种情况,处理的方式大致相同,但略有区别。1
不需要保存每个值,而是只需要使用该值即可。这样可以读入每个数,逐个处理即可。2
需要保存所有值的,可以将所有值保存在数组中,这个数组可以是静态的,也可以是动态的。如果可以确定数据的最大规模,比如最多1000个数,那么可以先创建一个足够大的,比如1000个元素的数组,静态动态均可。然后依次将元素存入。如果无法确定最大规模,那么就必须用动态数组。对于先输入总数的情况,可以在得到总数后,根据总数申请一个动态数组。对于总数在输入完成前始终未知的情况,可以先申请一定空间的值,在每次空间不足时,使用realloc函数,重新分配空间,实现不定量存储。
‘肆’ C语言中正整数怎样表达
先用那个FILE 定义一个指针,打开你这个文件(fopen())
然后就是一个一个的选择看了,用三个整型(初始化为0)分别表示这三种数的个数。
‘伍’ 用C语言写程序,实现一个整数从R进制(R由键盘输入)到十进制的互换。例如,若从键盘输入8进制数17
#include<stdio.h>
#include<string.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
intmain(void)
{
longt1;
inti,n,t,t3;
chara[100];
printf("请输入一个数: ");
gets(a);//将输入的n进制的数储存在数组a中
strupr(a);//将数组中的小写字母转化为大写字母
t3=strlen(a);//求出数组的长度
t1=0;
printf("请输入转换的数的进制: ");//输入要转换的数的进制
scanf("%d",&n);
for(i=0;i<t3;i++)
{
if(a[i]-'0'>=n&&a[i]<'A'||a[i]-'A'+10>n)//判断输入的数据和进制数是否符合
{
printf("dataerror!! ");//错误
exit(0);
}
if(a[i]>='0'&&a[i]<='9')//判断是否为数字
t=a[i]-'0';//求出该数字赋值给t
elseif(n>=11&&(a[i]>='A'&&a[i]<='A'+n-10))//判断是否为字母
t=a[i]-'A'+10;//求出该字母所代表的十进制数
t1=t1*n+t;//求出最终转换成的10进制数
}
printf("转化为的10进制数为%ld ",t1);
return0;
}
‘陆’ 如何用C语言R
\b = 退格键(backspace)
\r = 回车键(carrige return)
例如, 假设x一个整数,则语句
printf("%d\r", x);
输出x的当前值,然后把光标移到行首。
真正常用的转义符是\n(newline换行)
printf("%d\n", x);
输出x的当前值,然后换行到下一行的行首。