本文目录一览:
c语言 摩斯密码问题 在线等,急
az[26[5] 是编码表,你要校对一下,我只是快速拍入,给你示意。
程序第一部分是 英文到莫码输出。英文只考虑了小写。
(大写转小写你可以用 -'A'+'a', 下标为
printf("%s",az[s1[0]-'A']);
for (i=1;iL;i++) printf("|%s",az[s1[i]-'A']);
)
程序第2部分是莫码到英文小写。
#include stdio.h
#include stdlib.h
char az[26][5]={
"*-","-***","-*-*","-**",
"*","**-*","--*","****",
"**","*---","-*-*","*-**",
"--","-*","---","*--*",
"--*-","*-*","***","-",
"**-","***-","*--","-**-",
"-*--","--**"};
char toA(char *s){
int i;
for (i=0;i26;i++) if (strcmp(az[i][0],s)==0) return i+'a';
printf("wrong input code: %s\n",s);
}
int main(){
char s1[80]="moses";
char s2[80];
int i,j,L;
L=strlen(s1);
printf("%s",az[s1[0]-'a']);
for (i=1;iL;i++) printf("|%s",az[s1[i]-'a']);
printf("\n");
// Part2:
printf("please input ****|*|*-**|*-**|---\n");
scanf("%[^|]",s1);
printf("%c",toA(s1));
while (scanf("|%[^|,'\n']",s1)==1) {
printf("%c",toA(s1));
}
}
C语言:问一下,我在第九行调试输入aZ,回车之后为什么a被吃了,得到c=Z?
scanf读取字符并赋值了。
输入aZ回车
c = getchar(); c读到了a
然后进入循环, 第一句就是 scanf("%c",c); 这里就会读Z并赋值给c
你可以这样。
#include stdio.h
int main()
{
int i,letter=0,blank=0,digit=0,other=0;
char c;
for(i=0;i=10;i++){
scanf("%c",c);
if(c ='0' c='9') digit++;
else if(c ='a' c='z' || c ='A' c='Z') letter++;
else if(c==' '||c=='\n') blank++;
else other++;
}printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank,digit,other);
return 0;
}
C语言如何把它翻译成中文
这不叫“翻译”。你的标题应该改为“请帮我给下面C程序添加注释,看不懂”。
#include "Wire.h"
#include "I2Cdev.h"
#include "ADXL345.h"
ADXL345 accel; // 声明类型为ADXL345的结构体,用于加速度传感器配置
int16_t ax, ay, az;
#define LED_PIN 13
bool blinkState = false; // 初始不闪烁
void setup() { // 初始化函数
Wire.begin(); // 初始化硬件部分
Serial.begin(38400); // 初始化串口
Serial.println("Initializing I2C devices..."); // 串口输出调试信息
accel.initialize(); // 初始化加速度传感器
Serial.println("Testing device connections..."); // 串口输出调试信息
Serial.println(accel.testConnection() ? "ADXL345 connection successful" : "ADXL345 connection failed"); // 测试加速度传感器连接情况,并通过串口分别输出调试信息
pinMode(LED_PIN, OUTPUT); // 指示灯管脚配置为输出,准备闪烁
}
void loop() {
accel.getAcceleration(ax, ay, az); // 从加速度传感器读取三轴值
Serial.print("accel:\t"); // 串口输出调试信息
Serial.print(ax); Serial.print("\t"); // 串口输出x轴加速度值
Serial.print(ay); Serial.print("\t"); // 串口输出y轴加速度值
Serial.println(az); // 串口输出z轴加速度值
blinkState = !blinkState; // 闪烁状态逻辑翻转
digitalWrite(LED_PIN, blinkState); // 指示灯输出翻转,实现闪烁
}