這裏是我的程序,它要求用戶輸入一行文本,然後顯示它所關聯的ASCII碼,並在此之後通過向我添加1來修改ASCII碼,它還打印出與新的ASCII碼相關的新字符。如何用素數修改ASCII碼C程序
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
int main()
{
char s[ 70 ]; // define character array of size 70
size_t i; // loop counter
// use gets to get text from user
puts("Enter a line of text: \a\n");
fgets(s, 70, stdin);
// convert each character to ASCII and output
puts("\n ASCII code for the characters \n");
for (i = 0; s[ i ] != '\0'; ++i)
{
printf(" %c:%d",(s[ i ]),(s[ i ]));
} // end for Uppercase ASCII
// convert each character to modified ASCII and output
puts("\nThe line modified with progressively higher ASCII:\n");
for (i = 0; s[ i ] != '\0'; ++i)
{
printf("%c", (s[ i ] + (i+1)));
} // end for modified characters
puts("");
printf(" \n modified ASCII code for the entered string \n\n\a");
for (i = 0; s[ i ] != '\0'; ++i)
{
printf(" %c:%d",(s[ i ] + (i+1)),(s[ i ] +(i+1)));
} // end for modified ASCII code
printf("\n \t The final value of loop variable 'i' is:%d\n", i);
puts("");
system("PAUSE");
}
我有難度修改它,這樣的ASCII碼字符和由前七個質數2,3,5 ...... 17,比那些後第7張素數在反向起來去改變17,13,11,7,... 2。因此,在第一個循環之後,g表示g有ASCII碼103,修改後的ASCII碼現在爲105,新的字母現在爲i。有人可以幫我嗎?
對不起,我只是編輯它,它是我的一部分 – Jimmy
提示一個錯誤:你怎麼知道'S [I] +(I + 1)'是可打印的ASCII? –
%d打印ASCII中的字母,只需輸入字符串並將其從字符%c轉換爲ASCII%d。 – Jimmy