c语言函数DtoH,C语言函数流程图
c语言模拟 调试题
(1)
创新互联建站是一家专注于成都网站建设、成都网站设计与策划设计,呼兰网站建设哪家好?创新互联建站做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:呼兰等地区。呼兰做网站价格咨询:028-86922220
#include stdio.h
main()
{
int r,n;
float area;
scanf("%d",n);
for (r=1,r=n;r++) /*modified for(r=1;r=n;r++) for循环用分号*/
{
area=3.141593*r*r;
if (area50.0) continue;
printf("r=%d,square=%d\n",r,area); /* 前面定义了area为float型,输出用%f */
}
getch(); /* getch()是包括在头文件cconio.h里面的 */
}
(2)
#include stdio.h
int DtoH(int n,char *str)
{
int i,d;
for (i=0;n!=0,i++) /* n!=0; 是分号*/
{
d=n%16;
if (d=10) /*(d=0改为d=0) */
str[i]='0'+d;
else
str[i]='A'+d-10;
n/=16;
}
return i;
}
main()
{
int i,k,n;
char str[80];
scanf("%d",n);
k=DtoH(n,str);
for (i=k-1;i=0;i--)
printf("%c",str(i)); /* srt(i)改为str[i] */
getch();
}
(3)void fun(char *s, int *a, int *b)
{
while (*s=='\0') /* *s=='\0'改为*s!='\0'*/
{
if(*s='A' *s='Z')
(*a)++;
if (*s='a' || *s='z') /* ||改为 */
(*b)++;
s++;
}
}
main()
{
char s[100];
int upper=0, lower=0;
gets(s);
fun(s,upper,lower);
printf("\nupper=%d,lower=%d\n",upper,lower); /* lower前的去掉 */
getch();
}
只是简单的找出了错误,如果还是不理解要详细的解答,发消息给我
一个C语言的问题
#include stdio.h
void dtoh(char sour[],char resu[]){
int x; sscanf(sour,"%d",x); sprintf(resu,"%x",x);
}
void htod(char sour[],char resu[]){
int x; sscanf(sour,"%x",x); sprintf(resu,"%d",x);
}
int main(){
char d1[20]="16189", h1[20];
char d2[20], h2[20]="3F3D";
dtoh(d1,h1); printf("%s - %s\n",d1,h1);
htod(h2,d2); printf("%s - %s\n",h2,d2);
return 0;
}
C语言:编程实现将输入的十进制整数n通过函数DtoH转换为十六进制数,并将转换结果以字符形式输出。
问题不少,首先,10进制不能直接转化为16进制,应该先转为2进制然后再转16进制,其次,char *str 用法错误,只分配了一个字符指针,你却当字符数组使用了,把这两处改了去。
请问:C语言 程序填充(指针):ditoh 会写吗?
#include "stdio.h"
#include "string.h"
char trans(int x)
{if(x 10)
return '0'+x;
else return 'a'+x-10;
}
int DtoH(int n,char *str)
{int i=0;
while(n!=0)
{
str[i]=trans(n%16);
n/=16;
i++;
}
return i-1; }
void main()
{ int i,k,n;
char str[30];
scanf("%d",n);
k=DtoH(n,str);
for(i=0;i = k;i++)
printf("%c",str[k-i]); }
标题名称:c语言函数DtoH,C语言函数流程图
当前网址:http://scjbc.cn/article/dscipde.html