本文目录一览:
- 1、c语言 实现输入字符串/liu/jie/123 输出该字符串为//liu//jie//123. 就是把单斜杠换成双斜杠。
- 2、用C语言编写程序:给你一个三位正整数,输出相应读法的汉语拼音,每个音之间用一个空格间隔。
- 3、linux下用c语言打开终端并传参
- 4、从键盘输入一个1~~~99之间的整数,要求输出该数字的发音(用拼音表示),如:输入56应输出wu-shi-liu
- 5、用C语言编写流星雨程序
- 6、求如何编写一个念数字程序(c语言)
c语言 实现输入字符串/liu/jie/123 输出该字符串为//liu//jie//123. 就是把单斜杠换成双斜杠。
斜杠‘/’放在双引号中可直接输出,反斜杠‘\’因为作为了转义符,需要多加一个反斜杠。
即“\\”输出为“\”。
用C语言编写程序:给你一个三位正整数,输出相应读法的汉语拼音,每个音之间用一个空格间隔。
#include math.h
#include stdio.h
#include string.h
#define MIN(a, b) ((a) (b) ? (a) : (b))
char *numpinyin(char *buf, unsigned int n)
{
switch (n)
{
case 0: strcpy(buf, "líng"); return buf; break;
case 1: strcpy(buf, "yī"); return buf; break;
case 2: strcpy(buf, "èr"); return buf; break;
case 3: strcpy(buf, "sān"); return buf; break;
case 4: strcpy(buf, "sì"); return buf; break;
case 5: strcpy(buf, "wǔ"); return buf; break;
case 6: strcpy(buf, "liù"); return buf; break;
case 7: strcpy(buf, "qī"); return buf; break;
case 8: strcpy(buf, "bā"); return buf; break;
case 9: strcpy(buf, "jiǔ"); return buf; break;
case 10: strcpy(buf, "shí"); return buf; break;
case 100: strcpy(buf, "bǎi"); return buf; break;
default: return NULL; break;
}
}
int getdigit(unsigned int n, unsigned int d)
{
char str[4] = "";
if (n = 999)
{
sprintf(str, "%03d", n);
return str[d] - 48;
}
else
return -1;
}
int power(int x, int y)
{
int result = 1, i = 0;
for (; i y; i ++)
result *= x;
return result;
}
int main(void)
{
int n = 0, num = 0, count = 0, i = 0;
char buffer[5] = "";
scanf("%d", n);
for (; count MIN(n, 20); count ++)
{
scanf("%d", num);
if (num 999)
printf("The number you typed is not a three-digit or smaller integer!\n");
else
{
if (num == 0)
{
numpinyin(buffer, num);
printf("%s\n", buffer);
}
else
{
for (i = 0; i 3; i ++)
{
if (getdigit(num, i) 0)
{
if (i == 2 getdigit(num, 0) != 0 getdigit(num, 1) == 0)
{
numpinyin(buffer, 0);
printf("%s ", buffer);
}
numpinyin(buffer, getdigit(num, i));
if (i 2)
printf("%s ", buffer);
else
printf("%s", buffer);
if (i 2)
{
numpinyin(buffer, power(10, 2 - i));
printf("%s ", buffer);
}
}
}
putchar('\n');
}
}
}
return 0;
}
精心编写代码,实在不易,望采纳,谢谢。。
linux下用c语言打开终端并传参
如果要执行/liuyuanan目录下的test程序,代码如下写:
execlp("gnome-terminal","gnome-terminal","--working-directory","/liuyuanan","-x","/liuyuanan/test", NULL);
从键盘输入一个1~~~99之间的整数,要求输出该数字的发音(用拼音表示),如:输入56应输出wu-shi-liu
#include "stdio.h"
int main(int argc, char* argv[])
{
char sound[10][5]={"yi","er","san","si","wu","liu","qi","ba","jiu","shi"
};
int x,y;
printf("请输入数值(1-99):");
scanf("%d",x);
if(x1||x99)
printf("ERROR!超出范围。\n");
else if(x10)
printf("%s\n",sound[x-1]);
else if(x==10)
printf("%s\n",sound[9]);
else if(x%10==0)
{y=x/10;
printf("%s-%s\n",sound[y-1],sound[9]);}
else
{ y=x/10;
x=x-y*10;
printf("%s-%s-%s\n",sound[y-1],sound[9],sound[x-1]);
}
return 0;
}
用C语言编写流星雨程序
数字流星雨代码:
//流星雨.cpp:Defines the entry point for the console application.
//
///////////////////////////////////////////////////
//程序名称:数字流星雨
//最后修改:2006-10-15
///////////////////////////////////////////////////
#includelt;windows.hgt;
#includelt;time.hgt;
#includelt;stdlib.hgt;
#include"graphics.h"
#includelt;conio.hgt;
#includelt;math.hgt;
/***********************宏定义**********************/
#define PI 3.1415926//圆周率
#define WIDTH 200//屏幕宽度,流星出生区域
#define HEIGHT 150//屏幕高度,流星出生区域
#define V 20//流星速度,单次移动的像素数
#define LENGTH 20//流星字符数
#define DELAY 30//延时
#define NUM 45//流星个数
/******************定义流星结构体*******************/
struct meteor
{
int x0;
int y0;
int yh;
char str[LENGTH];
}me[NUM]={0};
/*********************函数声明**********************/
char AsciiRand();
void Move(char*p);
void InitMeteor(struct meteor*me);
int color(int y,int y0,int yh);
void Meteors(struct meteor me[]);
/***********************主函数**********************/
///int main(void)
int _tmain(int argc,_TCHAR*argv[]){
char c='\0';//接收键盘输入的变量
initgraph(WIDTH,HEIGHT);//初始化WIDTH*HEIGHT的绘图窗口
HWND hwnd=GetHWnd();//获得窗口句柄
SetWindowText(hwnd,"Gavin Liu数字流星雨");//修改窗口名称
ShowWindow(hwnd,SW_SHOWMAXIMIZED);//最大化显示窗口
MessageBox(hwnd,TEXT("点击【确定】开始演示流星雨效果,Esc键退出"),TEXT("提示"),MB_OK|MB_ICONWARNING);//弹出提示
srand((unsigned)time(NULL));//设置随机种子
for(int i=0;ilt;NUM;i++){//对NUM个流星体初始化
InitMeteor(melt;igt;);
}
while(c!=27){
BeginBatchDraw();//开始批量绘图
Meteors(me);//绘制一帧动画
FlushBatchDraw();//执行未完成的绘制任务
Sleep(DELAY);//延时
cleardevice();//清屏
for(int i=0;ilt;NUM;i++){
melt;igt;.yh+=V;
Move(melt;igt;.str);
if(melt;igt;.yhgt;HEIGHT+LENGTH*V){
InitMeteor(melt;igt;);
}
}
if(kbhit()){
c=getch();
}
}
EndBatchDraw();//结束批量绘图
closegraph();//结束绘图环境
return 0;
}
/***********************函数体**********************/
char AsciiRand(){//产生随机可见ASCII码
return((char)(rand()%(126-33)+33));
}
void Move(char*p){//字符后移,可以使显示时字符相对屏幕位置不变
char*pt=p+LENGTH;
while(ptgt;p){
*(--pt)=*(pt-1);
}
*p=AsciiRand();
}
void InitMeteor(struct meteor*me){//对一颗流星初始化
me-gt;x0=rand()%WIDTH;
me-gt;yh=me-gt;y0=rand()%HEIGHT;
for(int i=0;ilt;LENGTH;i++)
{
*(me-gt;str+i)=AsciiRand();
}
}
int color(int y,int y0,int yh){//确定流星的颜色
int color;
//出生点之前的流星体置成黑色
if(ylt;y0){
color=0;
}
//流星颜色自头至尾按照余弦函数递减
else{
//尾迹消失
color=(int)(255*cos((yh-y)*PI/(2*LENGTH*V)));
}
return color;
}
//打印一帧流星的画面
void Meteors(struct meteor me[]){
//设置格式:背景透明,字符高度,字体粗细,字体
setbkmode(TRANSPARENT);
setfont(12,12,"宋体");
//开始打印一帧图像
int y;
for(int n=0;nlt;NUM;n++){
for(int j=0;jlt;LENGTH;j++){
//流星中第j个字符的纵坐标
y=me[n].yh-j*V;
//设置颜色,流星的头部是白色的
setcolor(RGB(255*(0==j),color(y,me[n].y0,me[n].yh),255*(0==j)));
//打印字符
outtextxy(me[n].x0,y,me[n].str[j]);
}
}
}
扩展资料:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#includelt;文件名gt;
2、#include"文件名"
求如何编写一个念数字程序(c语言)
#include stdio.h
void re(int a)
{
char *b[]={"shi","yi","er","san","si","wu","liu","qi","ba","jiu"};
if (a==0)
printf("ling");
else if (a10)
printf("%s",b[a]);
else if (a==10)
printf("%s",b[0]);
else if (a20)
printf("%s %s",b[0],b[a%10]);
else if (!(a%10))
printf("%s %s",b[a/10],b[0]);
else
printf("%s %s %s",b[a/10],b[0],b[a%10]);
putchar('\n');
}
int main(int argc, char* argv[])
{
int a;
scanf("%d",a);
if (a100a=0) re(a);
else printf("CUO WU\n");
system("pause");
return 0;
}