‘壹’ 2. 在c语言中,十进制数47可等价地表示为 A) 2f B) 02f C) 57 D) 057
十进制数47可等价地表示为 D) 057
因为A) 2f B) 02f 中的f都不是合法的数字字符。
而57则被认为是五十七。057是一个八进制,其等值为十进制数47
‘贰’ C语言符号
幸好你举例了,你指的是url编码表,与C语言没什么关系。
这里列出的你要的“全部”
http://ke..com/view/204662.htm
道理很简单,255个字符每个转成它的ascii码,再把ascii码换成十六进制,就得到了2F,3D等,返过来将十六进制转换成10进制再按ascii码转换成字符就得到了/,=等。
‘叁’ 用c语言设计一个界面,在VC中运行,system("color 02f")表示绿色,除了蓝色,绿色,还有其他的颜色吗
有 0 = 黑色 1 = 蓝色 2 = 绿色 3 = 湖蓝色 4 = 红色 5 = 紫色 6 = 黄色 7 = 白色 8 = 灰色 9 = 淡蓝色 A = 淡绿色 B = 淡浅绿色 C = 淡红色 D = 淡紫色 E = 淡黄色 F = 亮白色http://wenku..com/view/69e7eb2d2af90242a895e5ef.html 你看看
‘肆’ 请恕小弟菜,帮忙用c语言双链表写一个小程序,
。。。。。课题设计吧。。。。。
//struct.h:
typedef struct
{
char name[20];
char number[12];
char phone[16];
int sex;//0=boy,1=girl
float math;
float english;
float c_pro;
float zongfen;
int lastbool;// 0为初设值,1为末位,2为记号符
}data;
//节点
struct NODE
{
data student;
struct NODE *next;
struct NODE *saveA;
struct NODE *saveB;
};
//链表
typedef struct
{
struct NODE *head;
struct NODE *last;
struct NODE *saveA;
struct NODE *saveB;
}LINK;
//link.h
#include <malloc.h>
//////////////////////////////////
#include "struct.h"
//////////////////////////////////
#define LEN sizeof(struct NODE)//定义长度,处理内存时使用
void putin(struct NODE *p) ;//输入
struct NODE *findnode(LINK *linkb,int n);//寻址,寻找到所寻结点的上一个结点, 0为按姓名查找,1为按学号查找
void creatlink(LINK *linka);
void deletenode(LINK *linka,int n);
void addnode(LINK *linka);
//向结点输入数据
void putin(struct NODE *p)
{
printf("name >");
gets(p->student.name);
gets(p->student.name);
printf("phone >");
gets(p->student.phone);
printf("number >");
gets(p->student.number);
printf("sex (0男,1女)>");
scanf("%d",&p->student.sex);
printf("math >");
scanf("%f",&p->student.math);
printf("english>");
scanf("%f",&p->student.english);
printf("c_pro >");
scanf("%f",&p->student.c_pro);
}
//找到所寻结点的上一个结点
struct NODE *findnode(LINK *linkb,int n)
{
int m,i;
char fname[20],fnumber[12];
struct NODE *p1 = (struct NODE*)malloc(LEN);
p1 = linkb->head;
if(n==0)
{
printf("按姓名查找:");
scanf("%s",fname);
for(i=0;i<10;i++)
{
if(fname[i]==' ')
{
fname[i] = '\0';
}
}
while(p1->next->student.lastbool!=1)
{
if(strcmp(p1->next->student.name,fname)==0)
{
return p1;
}
p1 = p1->next;
}
printf("未找到目标");
return p1;
}
else if(n==1)
{
printf("按学号查找:");
scanf("%s",fnumber);
for(m=0;m<10;m++)
{
if(fnumber[m]==' ')
{
fnumber[m] = '\0';
}
}
while(p1->next->student.lastbool!=1)
{
if(strcmp(p1->next->student.number,fnumber)==0)
{
return p1;
}
p1 = p1->next;
}
printf("未找到目标\n");
return p1;
}
return p1;
}
//链表的初始化
void creatlink(LINK *linka)
{
linka->head = (struct NODE*)malloc(LEN);
linka->last = (struct NODE*)malloc(LEN);
linka->last->saveA = linka->head;
linka->last->student.lastbool = 1;
linka->last->student.c_pro = -1;
linka->last->student.english = -1;
linka->last->student.math = -1;
linka->head->student.lastbool = 0;
linka->head->student.c_pro = -1;
linka->head->student.english = -1;
linka->head->student.math = -1;
linka->head->student.zongfen = -1;
}
//添加结点
void addnode(LINK *linka)
{
struct NODE *p1 = (struct NODE *)malloc(LEN);
//NODE *p2 = (struct NODE *)malloc(LEN);
p1->student.math = 0;
p1->student.c_pro = 0;
p1->student.english = 0;
p1->student.zongfen = 0;
putin(p1);
p1->student.lastbool = 0;
linka->last->saveA->next = p1;
linka->last->saveA = p1;
p1->next = linka->last;
}
void addnodeA(LINK *linka,struct NODE *p1)//添加到2号链表
{
linka->last->saveA->saveA = p1;
linka->last->saveA = p1;
p1->saveA = linka->last;
}
//删除
void deletenode(LINK *linka,int t)
{
struct NODE *p1 = findnode(linka,t);
struct NODE *p2;
p2 = p1->next->next;
free(p1->next);
p1->next = p2;
}
//functiona.h:
void zongfen(struct NODE *node);
void func_zongfen(LINK *linka); //求总分
void taxis_zongfen(LINK *linka,LINK *linkb);//依总分数据排序
void show_biao_sim(LINK *linka);
void zongfen(struct NODE *node)
{
float m = node->student.math;
float e = node->student.english;
float c = node->student.c_pro;
node->student.zongfen = m + e + c;
}
void func_zongfen(LINK *linka)
{
struct NODE *p1;
float a=0,b=0,c=0;
p1 = linka->head->next;
while(p1->student.lastbool!=1)
{
zongfen(p1);
p1 = p1->next;
}
printf("funczongfen执行成功!\n");
}
void taxis_zongfen(LINK *linka,LINK *linkb)//排序总分,存到另一个链表。
{
struct NODE *p1;
struct NODE *p2;
struct NODE *p3;
int open = 1;
p1 = linka->head->next;
p2 = p1;
p3 = p1->next;
while(open==1)
{
while(p2->student.lastbool==2)
{
p2 = p2->next;
}
if(p2->student.lastbool==1)
{
open =0;
break;
}
while(p3->student.lastbool !=1)
{
if(p2->student.zongfen < p3->student.zongfen && p3->student.lastbool !=2)
{
p2 = p3;
}
p3 = p3->next;
}
p2->student.lastbool = 2;
addnodeA(linkb,p2);
p2 = linka->head->next;
}
}
void show_biao_sim(LINK *linka)
{
struct NODE *p1;
p1 = linka->head->saveA;
printf("姓名----------学号---------性别--数学--英语--C语言-总分---\n");
while(p1->student.lastbool!=1)
{
printf("%-16s",p1->student.name);
printf("%-10s ",p1->student.number);
if(p1->student.sex == 0)
{
printf("男 ");
}
else
{
printf("女 ");
}
printf("%03.02f ",p1->student.math);
printf("%03.02f ",p1->student.english);
printf("%03.02f ",p1->student.c_pro);
printf("%03.02f ",p1->student.zongfen);
printf("\n");
p1=p1->saveA;
}
}
上面是函数。。。你调用需要的就行了。。。
‘伍’ 最全ASCII码对照表
ASCII码对照表
http://wenku..com/view/f0dda533f111f18583d05a6c.html
‘陆’ c++中怎么让输出的数为保留两位小数的形式
C++ 标准输出如何控制小数点后位
#include <iostream>
#include <iomanip>
using namespace std;int main( void )
{
const double value = 12.3456789; cout << value << endl;
// 默认以6精度,所以输出为 12.3457
cout << setprecision(4) << value << endl; // 改成4精度,所以输出为12.35
cout << setprecision(8) << value << endl; // 改成8精度,
所以输出为12.345679
cout << fixed << setprecision(4) << value << endl; // 加了fixed意味着是固定点方式显示,所以这里的精度指的是小数位,输出为12.3457
cout << value << endl;
// fixed和setprecision的作用还在,依然显示12.3457
cout.unsetf( ios::fixed ); // 去掉了fixed,
所以精度恢复成整个数值的有效位数,显示为12.35
cout << value << endl;
cout.precision( 6 ); // 恢复成原来的样子,输出为12.3457
cout << value << endl;
}
拓展资料
可以在输出的时候限制小数点位数。当输出单精度浮点型float变量f时,可以用printf("%.2f", f);来使输出结果保留两位有效数字。2就是代表保留两位,如果要保留三位就是%.3f。用%.0f就是只输出整数。
‘柒’ c语言中%2f和%.2f有什么区别谢谢大神
%2f是把float的所有位数输出2位,包括小数点,如果不组2位,补0,如果超过2位,按照实际输出
%.2f是float后的小数只输出两位。
例如:
printf("%2f, %2f, %.2f",123.1, 123.123, 123.123);
VS的输出就是:123.100000, 123.123000,123.12
拓展资料:
特有特点
C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
不同的变量类型可以用结构体(struct)组合在一起。
只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
部份的变量类型可以转换,例如整型和字符型变量。
通过指针(pointer),C语言可以容易的对存储器进行低级控制。
预编译处理(preprocessor)让C语言的编译更具有弹性。
‘捌’ c语言求助,跪谢!
没有赏分动力不足 给你做一道题好了,对于输入的限制你自己加上吧,我没编。
#include "stdio.h"
void main()
{
int a[10];
int i , j, temp,b=0;
printf("评委打分:");
for( i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=8;j>=0;j--)
for(i=9;i>=0;i--)
{
if(a[i]<a[i-1])
{
temp=a[i];
a[i]=a[i-1];
a[i-1]=temp;
}
}
printf("去除一个最高分:%d 去除一个最低分:%d \n ",a[9],a[0]);
for( i=0;i<10;i++)
b=b+a[i];
printf(" 选手的最终得分为 % .02f\n ",(b-(float)a[0]-(float)a[9])/8);
}
关于第二道题,你可以换一种思维方式 五本书你就想成5个数,要借给三位小朋友,你就当作用这些数给三个变量赋值,每次只能复一个数并且不能重复,也就是:
有1,2,3,4,5个数字,能组成多少个互不相同且无重复的数字的三位数?
这样说应该会了吧!
算了告诉你吧!
#include "stdio.h"
void main()
{
int a,b,c,cont=0;
for(a=1;a<6;a++)
for(b=1;b<6;b++)
for(c=1;c<6;c++)
if(a!=b&&a!=c&&b!=c)
cont++;
printf("一共%d种借法\n",cont);
}
下次记得问题的时候多少加点赏分,就会有更多人帮你的